gstreamer 学习笔记1

来源:互联网 发布:windows update不见了 编辑:程序博客网 时间:2024/04/30 16:54

创建一个GstElement对象

要想在应用程序中创建GstElement对象,唯一的办法是借助于工厂对象GstElementFactory。由于GStreamer框架提供了多种类型的GstElement对象,因此对应地提供了多种类型的GstElementFactory对象,它们是通过特定的工厂名称来进行区分的。

1.gst_element_factory_find()函数获得了一个名为mad的工厂对象,"mad"是用于mp3的工厂对象,它之后可以用来创建与之对应的MP3解码器元件:

     

GstElementFactory *factory;

factory = gst_element_factory_find("mad");

 

  2.成功获得工厂对象之后,接下来就可以通过gst_element_factory_create()函数来创建特定的GstElement对象了,该函数在调用时有两个参数,分别是需要用到的工厂对象,以及即将创建的元件名称。元件名称可以用查询的办法获得,也可以通过传入空指针(NULL)来生成工厂对象的默认元件。下面的代码示范了如何利用已经获得的工厂对象,来创建名为decoderMP3解码器元件:

 

GstElement *element;

element = gst_element_factory_create(factory, "decoder");

 

上面这两步可以用gst_element_factory_make

 ("factoryname","element name");来一步实现;

当创建的GstElement不再使用的时候,还必须调用gst_element_unref()函数释放其占用的内存资源:

 

使用元件作为GObject对象

0 0