摘要:
AwesomePlayer::onVideoEvent除了透過OMXCodec::read取得解碼後的資料外,還必須將這些資料(mVideoBuffer)傳給video renderer,以便畫到螢幕上去。(1)要將mVideoBuffer中的資料畫出來之前,必須先建立mVideoRendererv... 阅读全文
摘要:
這篇文章將介紹Stagefright中是如何和OMX video decoder传送buffer。(1) OMXCodec會在一開始的時候透過read函式來傳送未解碼的data給decoder,並且要求decoder將解碼後的data傳回來status_t OMXCodec::read(...){i... 阅读全文
摘要:
在《Stagefright (1) – Video Playback的流程》中,我们并没有详述Stagefright是如何根据影片档的类型来选择适合的video decoder,现在,就让我们来看一看。(1) Video decoder是在onPrepareAsyncEvent中的initVideo... 阅读全文
摘要:
Stagefright的編解碼功能是利用OpenMAX框架,而且用的還是OpenCORE之OMX的實作,我們來看一下Stagefright和OMX是如何運作的。(1) OMX_InitOMXClient mClient;AwesomePlayer::AwesomePlayer(){mClient.c... 阅读全文
摘要:
在Android上,預設的多媒體框架(multimedia framework)是OpenCORE。 OpenCORE的優點是兼顧了跨平台的移植性,而且已經過多方驗證,所以相對來說較為穩定;但是其缺點是過於龐大複雜,需要耗費相當多的時間去維護。從 Android 2.0開始,Google引進了架構稍... 阅读全文
摘要:
1.android中用openmax来干啥?android中的AwesomePlayer就 是用openmax来做(code)编解码,其实在openmax接口设计中,他不光能用来当编解码。通过他的组件可以组成一个完整的播放器,包括 sourc、demux、decode、output。但是为什么and... 阅读全文
摘要:
1.openmax 简介http://www.khronos.org/openmax/OpenMax是一个多媒体应用程序的框架标准,由NVIDIA公司和Khronos在2006年推出。OpenMAX分为3层:第一层:OpenMaxDL(DevelopmentLayer,开发层)第二层:OpenMax... 阅读全文