了解元件工厂

        GstElementFactory 最简单的应用就是创建一个元件的实例,但是工厂元件不仅仅只能做这件事,工厂元件作为在 GStreamer 注册系统中的一个基本类型,它描述了所有的插件(plugins)以及可由GStreamer 创建的元件。这意味着工厂元件可以用于自动元件实例化, 像自动插件(autopluggers); 或者创建一个可用元件列表,像管道编辑应用程序(GStreamer Editor) 的类似操作

     这里讲两个应用:

  通过元件工厂得到元件的信息

#include <gst/gst.h>

int

main (int argc,

char *argv[])

{

GstElementFactory *factory;

/* init GStreamer */

gst_init (&argc, &argv);

/* get factory */

factory = gst_element_factory_find ("fakesrc");

if (!factory) {

g_print ("You don’t have the ’fakesrc’ element installed!/n");

return -1;

}

/* display information */

g_print ("The ’%s’ element is a member of the category %s./n"

"Description: %s/n",

gst_plugin_feature_get_name (GST_PLUGIN_FEATURE (factory)),

gst_element_factory_get_klass (factory),

gst_element_factory_get_description (factory));

return 0; 

 

}

 

    你可以通过gst_registry_pool_feature_list (GST_TYPE_ELEMENT_FACTORY)得到所有在GStreamer中注册过的工厂元件。

     

     找出元件所包含的衬垫       

     工厂元件最有用处的功能可能是,它包含了对元件所能产生的衬以及这些衬垫的功能(以行外话: 指这些衬垫所支持的媒体类型)一个细描述 ,而得到这些信息是不需要将所有的插件(plugins)都装载到内存中。这可用来给一个编码器提供一个编码列表,或在多媒体播放器自动加载插件时发挥作用。目前所有基于 GStreamer 的多媒体播放器以及自动加载器(autoplugger)都是以上述方式工作。当我们在下一章:衬垫与功能( Pads and capabilities)中学习到 GstPad GstCaps 时,会对上面的特性有个更清晰的了解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值