b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

stagefright框架_启动stagefright_stagefright怎么解决(4)

电脑杂谈  发布时间:2017-05-31 00:03:12  来源:网络整理

(1) OMXCodec會在一開始的時候透過read函式來傳送未解碼的data給decoder,並且要求decoder將解碼後的data傳回來status_t OMXCodec::read(...){if (mInitialBufferSubmit){mInitialBufferSubmit = false;drainInputBuffers(); <----- OMX_EmptyThisBufferfillOutputBuffers(); <----- OMX_FillThisBuffer}...}void OMXCodec::drainInputBuffers(){Vector<BufferInfo> *buffers = &mPortBuffers[kPortIndexInput];for (i = 0; i < buffers->size(); ++i){drainInputBuffer(&buffers->editItemAt(i));}}void OMXCodec::drainInputBuffer(BufferInfo *info){mOMX->emptyBuffer(...);}void OMXCodec::fillOutputBuffers(){Vector<BufferInfo> *buffers = &mPortBuffers[kPortIndexOutput];for (i = 0; i < buffers->size(); ++i){fillOutputBuffer(&buffers->editItemAt(i));}}void OMXCodec::fillOutputBuffer(BufferInfo *info){mOMX->fillBuffer(...);}(2) Decoder從input port讀取資料後,開始進行解碼,並且回傳EmptyBufferDone通知OMXCodecvoid OMXCodec::on_message(const omx_message &msg){switch (msg.type){case omx_message::EMPTY_BUFFER_DONE:{IOMX::buffer_id buffer = msg.u.extended_buffer_data.buffer;drainInputBuffer(&buffers->editItemAt(i));}}}OMXCodec收到EMPTY_BUFFER_DONE之後,繼續傳送下一個未解碼的資料給decoder。

(3) Decoder將解碼完的資料送到output port,並回傳FillBufferDone通知OMXCodecvoid OMXCodec::on_message(const omx_message &msg){switch (msg.type){case omx_message::FILL_BUFFER_DONE:{IOMX::buffer_id buffer = msg.u.extended_buffer_data.buffer;fillOutputBuffer(info);mFilledBuffers.push_back(i);mBufferFilled.signal();}}}OMXCodec收到FILL_BUFFER_DONE之後,將解碼後的資料放入mFilledBuffers,發出mBufferFilled信號,並且要求decoder繼續送出資料。(4) read函式在後段等待mBufferFilled信號。當mFilledBuffers被填入資料後,read函式將其指定給buffer指標,並回傳給AwesomePlayerstatus_t OMXCodec::read(MediaBuffer **buffer, ...){...while (mFilledBuffers.empty()){mBufferFilled.wait(mLock);}BufferInfo *info = &mPortBuffers[kPortIndexOutput].editItemAt(index);info->mMediaBuffer->add_ref();*buffer = info->mMediaBuffer;}stagefright框架(五)-Video RenderingAwesomePlayer::onVideoEvent除了透過OMXCodec::read取得解碼後的資料外,還必須將這些資料(mVideoBuffer)傳給video renderer,以便畫到螢幕上去。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-50199-4.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...