版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一部分OpenCore 概述Ope nCore 的另外一个常用的称呼是Packetvideo ,它是An droid 的多媒体核心。在防站的过程中,Packetvideo 是一家公司的名称,而 Ope nCore是这套多媒体框架的软件层的 名称。在 An droid的开发者中间,二者的含义基本相同。对比An droid的其它程序库,OpenCore的代码非常庞大,它是一个基于C+的实现,定义了全功能的操作系统移植层, 各种基本的功能均被封装成类的形式,各层次之间的接口多使用继承等方式。Open Core是一个多媒体的框架,从宏观上来看,它主要包含了两大方面的内容:PVPlayer :提供媒体
2、播放器的功能,完成各种音频(Audio )、视频(Video )流的回放(Playback )功能PVAuthor :提供媒体流记录的功能,完成各种音频(Audio )、视频(Video )流的以及静态图像捕获功能PVPlayer和PVAuthor以SDK的形式提供给开发者,可以在这个 SDK之上构建多种应用 程序和服务。在移动终端中常常使用的多媒体应用程序,例如媒体播放器、照相机、录像机、录曰机等等。 ijlKMliu, 5*TOCM1 叫FlijjwrFacHin,9+ 1 illl+ AddLJ.S;in L; h1 片 llilrt雹h. mili Miri71怙卫I S* Iini在
3、Player Engine的实现中,包含了编解码和流控制等功能,而输出的介质需要从外部设置近来。PVPIayerl nteface 定义的接口基本是按照操作顺序的,主要的接口如下所示复制代码1. PVCommandIdAddDataSource(PVPlayerDataSource &aDataSource,const OsclAny*aContextData = NULL);PVCommandldInit(const OsclAny* aContextData=NULL);2. PVCommandIdAddDataSink(PVPIayerDataSink&aDataSink, constO
4、sclAny* aContextData = NULL);3.PVCommandIdPrepare(constOsclAny* aContextData=NULL);4.PVCommandIdStart(constOsclAny* aContextData =NULL);5.PVCommandIdPause(constOsclAny* aContextData=NULL);6.PVCommandIdResume(const OsclAny* aContextData=NULL);7.PVCommandIdStop(constOsclAny* aContextData =NULL);8.PVCo
5、mmandIdRemoveDataSink(PVPIayerDataSink&aDataSink, constOscIAny* aContextData = NULL);9. PVCommandIdReset(const OsclAny* aContextData =NULL);10. PVCommandIdRemoveDataSource(PVPlayerDataSource&aDataSourceconst OsclAny*aContextData = NULL);这里面的DataSink可能包含Video的输出和Audio的输出两者部分。在pv_player_types.h 文件中,定义
6、了 Player 的状态机,以 PVP_STATE_开头, 如下所示:复制代码1. typedef enum2. 3. PVP_STATE_IDLE =1,4.PVP_STATE_INITIALIZED2,5. PVP_STATE_PREPARED =3,6. PVP_STATE_STARTED=4,7. PVP_STATE_PAUSED =5,8. PVP_STATE_ERROR=69. PVPIayerState;PVPlayerlnterface 中的各个操作如果成功,可以更改 Player的状态机:初 始化的时候Player是PVP_STATE_IDLE状态,调用In it后,进入 P
7、VP_STATE_INITIALIZED 状态;调用 AddDataSink,进入 PVP_STATE_PREPARED状态;调用 Prepare 后,进入 PVP_STATE_PREPARED 状态;调用start后进入PVP_STATE_STARTED状态,之后可以调用pause进 入 PVP_STATE_PAUSED 状态。PVP_STATE_STARTED和PVP_STATE_PAUSED状态是播放情况下的状态,可 以使用start和pause函数在这两个状态中切换。在播放过程中,调用stop可以返回PVP_STATE_INITIALIZED状态,在调用 RemoveDataSourc
8、e 返回 PVP_STATE_IDLE 状态。5.3 An droid Player Adapter在an droid目录中定义为Player的适配器,这个目录主要包含的文件如下所示:an droid |- An droid.mk|- an droid_audio_mio.cpp|- an droid_audio_mio.h|- an droid_audio_output.cpp|- an droid_audio_output.h|- an droid_audio_output_threadsafe_callbacks.cpp|- an droid_audio_output_threadsafe_callbacks.h|- an droid_audio_stream.cpp|- an droid_audio_stream.h|- an droid_log_appe nder.h|- an droid_surface_output.cpp|- an droid_surface_output.h|- mediasca nn er.cpp|- metadatadriver.cpp|- metadatadriver.h|- playerdriver.cpp|- playerdriver.h-thread_i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高三冲刺生物遗传规律精讲|基因分离 自由组合
- 《汽化液化专项突破|直击考试高频考点》
- 林业安全生产通知讲解
- 预防蛀牙健康模板
- 美国能实现AI吗
- 冠脉介入术后健康宣教
- 小美满健康生活
- 《任务三:新闻写作》情境任务教学设计
- 1不躺平的人生才有盼头
- 化学解剖测试题及答案
- 公路工程2018预算定额释义手册
- 学堂在线 管理沟通的艺术 期末考试答案
- aeo单证管理制度
- 口腔实习生入科宣教
- 转运呼吸机使用规范与操作指南
- 2025年合肥市金鹃传媒科技股份有限公司招聘笔试参考题库含答案解析
- Z3050摇臂钻床使用操作说明书
- 2025年不动产登记代理人考试《不动产登记法律制度政策》试卷真题和答案
- 《双碳管理基础与实务》课件-第二章 碳金融
- 浙江省杭州市萧山区2025年六年级下学期小升初招生数学试卷含解析
- DB44∕T 500-2008 采石场生态恢复工程施工及验收技术规范
评论
0/150
提交评论