- 博客(15)
- 资源 (8)
- 收藏
- 关注
原创 OpenCore中file parser node的基类接口介绍
1、OsclTimerObject:2、PVMFNodeInterface:控制播放的接口,负责接收一些控制命令,然后放到队列中等待执行。3、PVMFDataSourceInitializationExtensionInterface:控制数据初始化的接口。传入文件名。4、PVMFTrackSelectionExtensionInterface:控制TrackInfo的接口。 保存一Track的一些信息。5、PvmfDataSourcePlaybackControlInterface:控制跳转的接口.6、P
2011-01-19 23:09:00 1139
原创 stagefright与opencore对比
本文转自:http://blog.chinaunix.net/u2/61880/showart_2339481.html1引言Android froyo版本多媒体引擎做了变动,新添加了stagefright框架,并且默认情况android选择stagefright,弃用之前的opencore,仅仅对opencore中的omx-component部分做了引用。Stagefright自android2.0后才添加,其稳定性有待商榷,是否存在bug也未知,opencore自android诞生起便存在,稳定性有保障
2011-01-07 23:24:00 1578 1
原创 OpenCore支持OpenMax系列之一
<br />开始研究OpenCore中的OpenMax的实现了,准备写成一个系列,今天先发一部分上来!!<br /> 1 大纲<br />占个位先,将来完成之后再来补上<br /> 2 Node支援2.1<br />
2011-01-05 17:44:00 1039
原创 怎样实现Android系统的HAL(硬件适配层)(转)
<br /><br />原文地址:http://www.cnmsdn.com/html/201010/1287036533ID8205_2.html<br />Android系统作为一个开放的平台,为了适配千变万化的硬件平台,定义了一个硬件适配层(HAL)框架。如果你实现自己硬件平台的硬件适配层,那么 Android系统将会调用你的硬件适配层来为系统加速。如果你未定义自己平台硬件适配层(HAL),那么Android系统将调用软实现,这样的话不会发挥出你的硬件平台的最大效能。本文简略介绍一下Android系统
2011-01-04 18:18:00 914
原创 OpenCore视频硬件加速(转)
=============================================================今天在看opencore的代码时,在函数PlayerDriver::handleSetVideoSurface中有以下内容:// attempt to load device-specific video MIO if (mLibHandle != NULL){ VideoMioFactory f = (VideoMioFactory) ::dlsym(mLibHandl
2011-01-04 18:14:00 1533
原创 Android开发中的logcat工具使用
logcat使用使用简介使用方法你也可以在你的电脑或运行在模拟器/设备上的远程adb shell端来使用logcat命令,也可以在你的电脑上查看日志输出。$ adb logcat你也这样使用:$ adb shell# logcat语法你可以用logcat命令来查看系统日志缓冲区的内容:[adb] logcat [] ... [] ...选
2011-01-04 17:25:00 1397 1
原创 OpenCore:PVPlayer SDK Developer's Guide
<br /><br />1)PVPlayer SDK中PVPlayer Engine是核心部分,Engine通过使用Node和Node Graphs来处理数据,实现Node,构建Graph;<br />2)控制流:PVPlayer SDK的控制流来自PVPlayer的使用者,通常是一个player应用程序,top-down,Engine接收来自应用的请求,然后传递给PVMF Nodes,相连的Nodes之间也有控制流,但大部分存在于PVPlayer engine和PVMF nodes之间;<br />3)数
2011-01-04 12:26:00 1236
原创 OpenCore:OMX Core Integration Guide
1)由于opencore中的omx是PV自己做的omx,core和component之间的一些API是"internal, implementation specific, not prescribed by OMX specification”,而且PV可能随时对其更改,所以在想opencore中加入新的组件时必须要提供相应的core。2)这样就要解决多个core的共存问题,PV公司提供了一层封装:MasterCore,最后在生成so库时,有两种方式来添加这层封装:A:先构建没有封装的so库,再添加封装,
2011-01-04 12:24:00 1098
原创 OpenCore:PVPlayerDatapath
类PVPlayerDatapath中包含成员量指向SourceNode,DecNode,SinkNode,以及SessionID,还有四个port指针:PVMFPortInterface* iSourceOutPort; PVMFPortInterface* iDecInPort; PVMFPortInterface* iDecOutPort; PVMFPortInterface* iSinkInPort;在Engine层完成Doprepare命令后,就会进入Datapath部分函数PVPlayerEngi
2011-01-04 12:20:00 1105
原创 OpenCore:Prepare
在添加了Datasink后,执行命令PrepareDriver层:执行函数Run()函数PlayerDriver::handlePrepare(PlayerPrepare* command)1)调用函数PVPlayerEngine::setParametersSync(NULL, &iKVPSetAsync, 1, iErrorKVP);2)调用函数PVPlayerEngine::Prepare(const OsclAny* aContextData),进入Engine层将PVP_ENGINE_COMMAN
2011-01-04 12:18:00 1102 1
原创 OpenCore:AddDataSink
在完成文件解析后就要添加输出sink了,在这里,以AudioSink为例来进行说明,关于Video的设置,后续分析到OMX时再进行说明。首先在Driver层介绍上层命令(PlayerSetAudioSink*)处理:函数PlayerDriver::handleSetAudioSink(PlayerSetAudioSink* command)1)构建指向类AndroidAudioOutput的指针,保存在Driver的成员mAudioOutputMIO中,有关此类的描述:音频buffer会在一个独立的音频输出
2011-01-04 11:55:00 917
原创 OpenCore:构建SourceNode
PVPlayerEngine::DoSetupSourceNode()函数分析在媒体文件格式被识别后就要根据文件格式创建节点,调用函数DoSetupSourceNodePVPlayerEngine::DoSetupSourceNode(PVCommandId aCmdId, OsclAny* aCmdContext)参数:aCmdId:命令ID;aCmdContext:在实际的调用中,这两个参数分别是类PVPlayerEngineContext成员量函数返回值:函数执行状态,成功与否;本函数的作用就是根据源
2011-01-04 11:38:00 1175
原创 再研究一段时间的OpenCore
Android2.3系统已经彻底的抛弃了Opencore,转而用StageFright全面代替它了,但为了项目的需要,还要再研究一下OpenCore,及它是怎样支持OpenMax的。然后开始伟大的Stagefright之旅!!
2011-01-04 10:03:00 1060
原创 Android MediaPlayer的生命周期
本文转自: http://blog.csdn.net/ddna/archive/2010/01/11/5178864.aspxAndroid MediaPlayer的生命周期MediaPlayer 的状态转换图也表征了它的生命周期,搞清楚这个图可以帮助我们在使用 MediaPlayer 时考虑情况更周全,写出的代码也更具健壮性。这张状态转换图清晰的描述了 MediaPlayer 的各个状态,也列举了主要的方法的调用时序,每种方法只能在一些特定的状态下使用,如果使用时 MediaPlayer 的状态不正确则
2011-01-04 09:33:00 1311
原创 stagefright + omx小结
转载:http://blog.chinaunix.net/u1/57901/看了将近1个多月的stagefright和OMX IL,感觉对框架有了一点感觉,趁感觉还在,记录下来和大家分享,由于本人也是刚开始看多媒体框架,有认识不当的地方还请务必指正.由于stagefright和openmax运行在两个不同的进程上,所以他们之间的通讯要经过openBinder进行处理,对openBinder这一块还没有了解,所以恕stagefright和openmax之间的通信不能做分析,还有就是本小结不考虑音频这一块,假设
2011-01-04 00:08:00 3070 2
微软雅黑字体6.0及Ubuntu 上的安装步骤
2023-05-11
rtl8188eu.deb
2017-10-21
Android与PC快速传输文件
2013-05-05
VLC源码及源码分析文档
2011-02-24
Rose 2003 基础
2009-11-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人