c_cpp GStreamer的学习
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp GStreamer的学习相关的知识,希望对你有一定的参考价值。
#include <gst/gst.h>
int main(int argc, char *argv[])
{
gst_init(&argc,&argv);//命令行输入的参数传递给GStreamer函数库
GstElement *pipeline, *filesrc, *decoder, *audiosink;//创建三个远见
pipeline = gst_pipeline_new("pipeline");//创建用于容纳元件的新管道
/*创建数据源元件*/
filesrc = gst_element_factory_make("filesrc","disk_source");
g_object_set(G_OBJECT(filesrc), "location", argv[1],NULL);
/*创建过滤器元件*/
decoder = gst_element_factory_make("mad","decoder");
/*创建接收器元件*/
audiosink = gst_element_factory_make("audiosink","play_audio");
/*添加元件到管道中*/
gst_bin_add_many(GST_BIN(pipeline), filesrc, decoder, audiosink, NULL);
/*通过Pad连接元件element*/
gst_element_link_many(filesrc,decoder,audiosink,NULL);
/*启动管道,管道一般有四个状态NULL,READY,PAUSED,PLAYING*/
gst_element_set_state(pipeline, GST_STATE_PALYING);
/*如果没有使用线程,则不停查询来判断处理是否结束*/
while(get_bin_iterate(GET_BIN(pipeline)));
/*终止管道*/
gst_element_set_state(pipeline, GST_STATE_NULL);
/*释放资源*/
gst_object_unref(GST_OBJECT(pipeline));
}
以上是关于c_cpp GStreamer的学习的主要内容,如果未能解决你的问题,请参考以下文章
deepstream学习笔记:gstreamer与deepstream-test1说明
GStreamer应用开发手册学习笔记之二
GStreamer应用开发手册学习笔记之二
gstreamer学习教程系列
编写一个GStreamer插件
如何安装gstreamer