Android Video
Shen_JC
牛奶和面包都会有的。。
展开
-
Stagefright (3) - 選擇Video Decoder
在《Stagefright (1) – Video Playback的流程》中,我們並沒有詳述 Stagefright是如何根據影片檔的類型來選擇適合的video decoder,現在,就讓我們來看一看。(1) Video decoder是在onPrepareAsyncEvent转载 2011-07-11 13:20:50 · 719 阅读 · 0 评论 -
Stagefright (1) - Video Playback的流程
在Android上,預設的多媒體框架 (multimedia framework)是OpenCORE。OpenCORE的優點是兼顧了跨平台的移植性,而且已經過多方驗證,所以相當穩定;但是其缺點是過於龐大複 雜,需要耗費相當多的時間去維護。從Android 2.0開始,Google转载 2011-07-11 13:17:24 · 2799 阅读 · 0 评论 -
Stagefright (5) - Video Rendering
AwesomePlayer::onVideoEvent除了透過OMXCodec::read取得解碼後的資料外,還必須將這些資料 (mVideoBuffer)傳給video renderer,以便畫到螢幕上去。(1) 要將mVideoBuffer中的資料畫出來之前,必須先建立mVi转载 2011-07-11 13:23:19 · 880 阅读 · 0 评论 -
Stagefright (2) - 和OpenMAX的運作
Stagefright的編解碼功能是利用OpenMAX框架,而且用的還是OpenCORE之OMX的實作,我們 來看一下Stagefright和OMX是如何運作的。(1) OMX_InitOMXClient mClient;AwesomePlayer::AwesomePlayer(转载 2011-07-11 13:19:16 · 879 阅读 · 0 评论 -
Stagefright (4) - Video Buffer傳輸流程
這篇文章將介紹Stagefright中是如何和OMX video decoder傳遞buffer。(1) OMXCodec會在一開始的時候透過read函式來傳送未解碼的 data給decoder,並且要求decoder將解碼後的data傳回來status_t OMXCodec::原创 2011-07-11 13:22:52 · 730 阅读 · 0 评论 -
Stagefright (7) - Audio和Video的同步
講完了audio和video的處理流程,接下來要看的是audio和video同步化(synchronization)的問題。 OpenCORE的做法是設置一個主clock,而audio和video就分別以此作為輸出的依據。而在Stagefright中,audio的輸出是 透過ca转载 2011-07-11 13:24:23 · 1142 阅读 · 0 评论 -
Stagefright (6) - Audio Playback的流程
到目前為止,我們都只著重在video處理的部分,對於 audio卻隻字未提。這篇文章將會開始audio處理的流程。Stagefright中關於audio的部分是交由 AudioPlayer來處理,它是在AwesomePlayer::play_l中被建立的。(1) 當上層應用程式要转载 2011-07-11 13:23:42 · 896 阅读 · 0 评论