
Android-(Opencore)
zzqhost
热爱编程,精通C/C++, windows下编程
展开
-
再研究一段时间的OpenCore
Android2.3系统已经彻底的抛弃了Opencore,转而用StageFright全面代替它了,但为了项目的需要,还要再研究一下OpenCore,及它是怎样支持OpenMax的。然后开始伟大的Stagefright之旅!!原创 2011-01-04 10:03:00 · 1099 阅读 · 0 评论 -
OpenCore支持OpenMax系列之一
<br />开始研究OpenCore中的OpenMax的实现了,准备写成一个系列,今天先发一部分上来!!<br /> 1 大纲<br />占个位先,将来完成之后再来补上<br /> 2 Node支援2.1<br />原创 2011-01-05 17:44:00 · 1076 阅读 · 0 评论 -
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 · 1145 阅读 · 1 评论 -
怎样实现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 · 1014 阅读 · 0 评论 -
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 · 1577 阅读 · 0 评论 -
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 · 1278 阅读 · 0 评论 -
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 · 1127 阅读 · 0 评论 -
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 · 1140 阅读 · 0 评论 -
OpenCore:AddDataSink
在完成文件解析后就要添加输出sink了,在这里,以AudioSink为例来进行说明,关于Video的设置,后续分析到OMX时再进行说明。首先在Driver层介绍上层命令(PlayerSetAudioSink*)处理:函数PlayerDriver::handleSetAudioSink(PlayerSetAudioSink* command)1)构建指向类AndroidAudioOutput的指针,保存在Driver的成员mAudioOutputMIO中,有关此类的描述:音频buffer会在一个独立的音频输出原创 2011-01-04 11:55:00 · 947 阅读 · 0 评论 -
OpenCore:构建SourceNode
PVPlayerEngine::DoSetupSourceNode()函数分析在媒体文件格式被识别后就要根据文件格式创建节点,调用函数DoSetupSourceNodePVPlayerEngine::DoSetupSourceNode(PVCommandId aCmdId, OsclAny* aCmdContext)参数:aCmdId:命令ID;aCmdContext:在实际的调用中,这两个参数分别是类PVPlayerEngineContext成员量函数返回值:函数执行状态,成功与否;本函数的作用就是根据源原创 2011-01-04 11:38:00 · 1217 阅读 · 0 评论 -
OpenCore中file parser node的基类接口介绍
1、OsclTimerObject:2、PVMFNodeInterface:控制播放的接口,负责接收一些控制命令,然后放到队列中等待执行。3、PVMFDataSourceInitializationExtensionInterface:控制数据初始化的接口。传入文件名。4、PVMFTrackSelectionExtensionInterface:控制TrackInfo的接口。 保存一Track的一些信息。5、PvmfDataSourcePlaybackControlInterface:控制跳转的接口.6、P原创 2011-01-19 23:09:00 · 1174 阅读 · 0 评论