(1) 要將mVideoBuffer中的資料畫出來之前,必須先建立mVideoRenderer
|
(2) 如果video decoder是OMX component,則建立一個AwesomeRemoteRenderer作為mVideoRenderer
從上段的程式碼(1)來看,AwesomeRemoteRenderer的本質是由OMX::createRenderer所創建的。createRenderer會先建立一個hardware renderer -- SharedVideoRenderer (libstagefrighthw.so);若失敗,則建立software renderer -- SoftwareRenderer (surface)。
|
(3) 如果video decoder是software component,則建立一個AwesomeLocalRenderer作為mVideoRenderer
AwesomeLocalRenderer的constructor會呼叫本身的init函式,其所做的事和OMX::createRenderer一模一樣。
|
![stagefright框架(五)-Video <wbr>Rendering stagefright框架(五)-Video <wbr>Rendering](http://image35.360doc.com/DownloadImg/2011/09/0217/16917521_2.jpg)
(4) mVideoRenderer一經建立就可以開始將解碼後的資料傳給它
|
![stagefright框架(五)-Video <wbr>Rendering stagefright框架(五)-Video <wbr>Rendering](http://image35.360doc.com/DownloadImg/2011/09/0217/16917521_3.jpg)
![stagefright框架(五)-Video <wbr>Rendering stagefright框架(五)-Video <wbr>Rendering](http://image35.360doc.com/DownloadImg/2011/09/0217/16917521_4.jpg)