欢迎来到天天文库
浏览记录
ID:10902395
大小:3.31 MB
页数:22页
时间:2018-07-08
《gstreamer工作原理分析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、TechGstreamer工作原理分析GuideHowtoMountMaemoFileSystem——GuideIssue:<0.5>SystemAnalysisandDesignDocumentsIssueDate:<10/29/2007>RevisionHistoryDateIssueDescriptionAuthor<7/03/2008><0.5>Firstdraftwangfei目录1.ABSTRACT32.INTRODUCTION33.原理分析33.1术语介绍.33.1.1元素33.1.2一些特别的元素。33.2插
2、件的工作原理。53.3Gst-launch的工作逻辑73.4动态pipeline的创建原理93.5Decodebin的工作原理103.6Typefind的实现原理123.7Setupelement123.8Playbin的工作原理143.9数据流动163.10总结204.REFERENCE20ÓTech,2005Page22of22HowtoMountMaemoFileSystem——GuideIssue:<0.5>SystemAnalysisandDesignDocumentsIssueDate:<10/29/2007>1
3、.Abstract主要讲的是gstreamer的工作原理,包括gst-launch的分析和playbin的分析,以及数据的流动分析。2.Introduction先介绍一些术语,然后介绍了插件的工作原理,后面接着介绍了gst-launch,playbin,decodebin,typefind,数据流动.3.原理分析3.1术语介绍.3.1.1元素代码里面的类型是GstElement,可以理解为gstreamer里面的基类。3.1.2一些特别的元素。Source:可以理解为源头,也就是数据流的起始地,就像长江的发源地是沱沱河一样。Sink:就是这个数据流最终要流向的地方
4、,就像长江最终要流向东海一样。Filter:过滤器,就像是筛子一样滤掉我们不感兴趣的东西,流下我们想要的东西,或者从代码上来说就是拦截下数据,对这个数据做一定的修改或者其它动作,当然你什么也不做也是可以的,然后再把数据传出去:Pipeline:典型的pipeline是这样的:ÓTech,2005Page22of22HowtoMountMaemoFileSystem——GuideIssue:<0.5>SystemAnalysisandDesignDocumentsIssueDate:<10/29/2007>更复杂一点的:Bin
5、:有点像pipeline,它们的区别就是pipeline肯定是一个bin,但bin不一定是pipeline,它就像一个盒子,里面放了什么东西你可以不关心。Ghostpad:文档上说ghostpad就像linux里面的link文件,我的理解是在一个盒子上开一个口,这样里就可以访问这个盒子了。ÓTech,2005Page22of22HowtoMountMaemoFileSystem——GuideIssue:<0.5>SystemAnalysisandDesignDocumentsIssueDate:<10/29/2007>1.1
6、插件的工作原理。如下图所示,这个所有的基于插件的程序的工作原理类似,本质上都是通过读取动态库实现的,只需要每个动态库都实现某一个特定的接口就可以了,比如XX_init等,这里就是plugin_init。里面会有个像注册表一样的数据结构会存储所有的插件的信息。ÓTech,2005Page22of22HowtoMountMaemoFileSystem——GuideIssue:<0.5>SystemAnalysisandDesignDocumentsIssueDate:<10/29/2007>ÓTech,2005Page22of2
7、2HowtoMountMaemoFileSystem——GuideIssue:<0.5>SystemAnalysisandDesignDocumentsIssueDate:<10/29/2007>1.1Gst-launch的工作逻辑它的工作原理就是根据!号来划分输入的字符串,然后为每个元素构建一个element,最后建立一个pipeline把这些元素加入,最后通过setstate来启动整个数据循环。ÓTech,2005Page22of22HowtoMountMaemoFileSystem——GuideIssue:<0.5>S
8、ystem
此文档下载收益归作者所有