gstreamer学习总结三

gstreamer框架下的基本概念

 

bin:首先它是一个元件,可以和元件一样控制;另外它是个容器,可以把多个元件添加入这个容器,组成功能更强大的元件。在gstreamer中,有个功能十分强大的bin:playbin2,你可以非常简单的利用它实现一个简单的播放器。从中,你既可以看到bin的威力,也可以看到bin的使用并没有什么太多的不同。

 

pipeline:它是一个完整的媒体流水线。用来完成我们预想的媒体处理。

 

communication: 通信,主要涉及四个概念:

  1. buffer:它是元件之间传递的数据流,通常都downstream;
  2. events:它是元件之间或者元件与应用之间传递信息的手段。传递方向既可以是upstream也可以是downstream;
  3. message:这是元件通过bus向应用传递消息的手段。
  4. queries:应用查询pipeline信息的手段。

从应用上分,communication可以分为三种:

  1. 数据传输:传递媒流体数据,元数据等;
  2. 状态信息:如:EOS(结束状态)、Error、position info等等;
  3. 控制信息:seek、pause等等;

bus: 是一个用于照看pipeline运行的线程,当pipeline需要向应用传递message时,不需要用户编写特别的代码,bus就能完成这个任务。对于用户来说只需要设置一个根据不同message进行不同控制的处理函数即可。

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值