Gstreamer 小结

来源:互联网 发布:php 下载文件 编辑:程序博客网 时间:2024/06/02 06:37
Pipeline EOS


当source filter遇上了流结束,会沿着downstream的方向向下一个element发送一个EOS的event,这个event依次传送给每一个element,接收到EOS event的element不再接收数据。
启动了线程的element发送了EOS event后就不再发送数据。
EOS event最终会到达sink element。sink element会发送一个EOS消息,通告流结束。pipeline在接收到EOS消息以后,把消息发送给应用程序。只有在PLAYING状态下会把EOS的消息传送给应用程序。

发送了EOS以后,pipeline保持PLAYING状态,等待应用程序把pipeline的状态置为PAUSE或者READY。应用程序也可以进行seek操作。


elements


element是pipeline的最小组成部分。element提供了多个pads,或者为sink,或者为source。一个element有四种可能的状态,分别是NULL,READY,PAUSED,PLAYING。NULL和READY状态下,element不对数据做任何处理,PLAYING状态对数据进行处理,PAUSE状态介于两者之间,对数据进行preroll。应用程序通过函数调用控制pipeline在不同状态之间进行转换。

element的状态转换成PAUSE会激活element的pad。首先是source pad被激活,然后是sink pad。pad被激活后会调用activate函数,有一些pad会启动一个Task。


PAUSE状态下,pipeline会进行数据的preroll,目的是为后续的PLAYING状态准备好数据,使得PLAYING启动的速度更快。一些element需接收到足够的数据才能完成向PAUSE状态的转变,sink pad只有在接收到第一个数据才能实现向PAUSE的状态转变。


通常情况下,element的状态转变需要协调一致。

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 努比亚客服 诺比亚 nubia 努比亚全国售后网点 努比亚系统下载 nuoio手机多少钱 nubia手机 努比亚手机咋样 nubia z5 mini 9z nubiaz11 nby 努比亚售后电话 努比亚公司简介 nubia z9 努比亚手机怎么样 努比亚系统怎么样 努比亚吧 努比亚商城app 努比亚人 努比亚客服电话 z11max 努比亚售后 努比亚相机 努比亚新手机 努比亚商城 努比亚社区 努比亚主题 努比 z11mini参数 nubia论坛 努比亚论坛 nubia吧 努比亚系统 努比亚手机保护壳 努比亚公司 努比亚羊 努比亚奶山羊 纯种努比亚山羊 努比亚刷机 努比亚手机系统