[发明专利]数字电视中Gstreamer读取外部数据的方法及其装置有效
申请号: | 201210521315.1 | 申请日: | 2012-12-07 |
公开(公告)号: | CN102984571A | 公开(公告)日: | 2013-03-20 |
发明(设计)人: | 李淑荣 | 申请(专利权)人: | 青岛海信信芯科技有限公司 |
主分类号: | H04N21/43 | 分类号: | H04N21/43;H04N21/432 |
代理公司: | 北京中伟智信专利商标代理事务所 11325 | 代理人: | 张岱 |
地址: | 266100 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数字电视 gstreamer 读取 外部 数据 方法 及其 装置 | ||
技术领域
本发明涉及流媒体数据处理领域,尤其涉及一种数字电视中Gstreamer流媒体框架读取外部数据的方法及其相对应的装置。
背景技术
Gstreamer是构建流媒体应用的流媒体框架,能简化音频、视频的应用程序的开发。Gstreamer流媒体框架是基于管道的。如图1所示,管道pipeline中三种元件实现对数据的处理。所述三种元件分别是负责为管道读取数据的源元件、负责对数据进行处理转换的过滤元件以及负责对数据的输出的接收元件。
现有的Gstreamer所能读取的外部数据根据数据来源包括本地硬盘数据以及网络服务器数据,针对不同的数据来源Gstreamer必须调取不同的源元件进行读取也就是说,每增加了一种数据来源就需要编写一个新的源元件(插件)。
综合上述,现有的数字电视中的Gstreamer在读取外部数据时存在以下缺陷:
1:如数字电视、第三方下载数据等一些新的数据来源不能被直接加载到Gstreamer的管道中。
2:针对不同来源的数据,需要不同的特定源元件进行读写,故针对新的数据来源的数据必须重新编写一个源元件,实现相对麻烦且源元件功能单一。
因此如何在不编写新的、专门的源元件就能使pipeline管道读取不同来源的外部数据是Gstreamer接下来需要解决的一个问题。
发明内容
为解决上述问题,本发明提供一种能够解决数字电视中Gstreamer不能直接读取数字电视数据以及第三下载数据、源元件功能单一等问题的数字电视中
Gstreamer外部数据读取方法及其装置。
为达上述目的,本发明数字电视中Gstreamer读取外部数据的方法方法为:
在管道中创建一个用于存储外部数据的buffer;
将存储有数据的buffer交由源元件管理。
进一步地,所述Gstreamer读取外部数据的方法还包括:
创建playbin2管道;
playbin2管道选择添加所述源元件。
进一步地,所述源元件为appsrc元件。
进一步地,所述playbin2管道选择添加appsrc元件的方法为:
步骤A1:修改playbin2管道的uri属性为所述appsrc元件所对应的属性;
步骤A2:playbin2管道根据uri属性将appsrc元件添加到管道中;
步骤A3:修改appsrc元件的属性以使其处于就绪状态。
进一步地,在所述步骤A3包括以下具体步骤:
步骤A3.1:playbin2管道添加完所述appsrc元件后输出source-setup信号;
步骤A3.2:状态改写函数根据上述信号source-setup信号改写appsrc元件的属性。
进一步地,在appsrc元件属性修改完后,所述将存储有数据的buffer交由源元件管理包括以下步骤:
B1:所述appsrc元件发出need_data信号激活数据读取函数;
B2:所述数据读取函数将所述playbin2管道所需读取的数据存储至所述buffer中,并向所述appsrc元件返回所述buffer中数据存储状态;
B3:appsrc元件根据所述返回的buffer中数据存储状态的判断是否所述buffer中是否有数据,有则发出push-buffer信号,由回调函数将所述buffer添加到所述appsrc管理的队列中。
进一步地,所述buffer为Gstreamer框架下的GSTbuffer类的实例。
进一步地,所述外部数据为数字电视数据或第三方下载数据。
进一步地,所述外部数据还包括本地硬盘数据、网络服务器数据;其中,读取本地硬盘数据或网络服务器数据,所述的数据电视中Gstreamer读取外部数据的方法还包括由上层应用将本地硬盘数据或网络服务器数据存储到指定存储区域。
为达上述目的,本发明数字电视中Gstreamer读取外部数据的装置,包括管道;所述管道内设有用于存储外部数据的buffer以及管理存储有数据的所述buffer的源元件。
具体地,所述管道为playbin2管道;管理存储有数据的所述buffer的源元件为appsrc元件。
本发明数字电视中Gstreamer读取外部数据的方法及其装置通过一个或多个实施例的中所描述的技术方案至少具有以下有益效果:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于青岛海信信芯科技有限公司,未经青岛海信信芯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210521315.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:红豆银耳羹的生产工艺
- 下一篇:一种含L-阿拉伯糖的凉茶