Chromium Code Reviews| Index: content/gpu/omx_video_decode_accelerator.cc |
| =================================================================== |
| --- content/gpu/omx_video_decode_accelerator.cc (revision 85602) |
| +++ content/gpu/omx_video_decode_accelerator.cc (working copy) |
| @@ -294,7 +294,7 @@ |
| } |
| assigned_picture_buffers_.insert( |
| - assigned_picture_buffers_.begin(), |
| + assigned_picture_buffers_.end(), |
|
vhiremath
2011/05/19 13:38:00
Newer picture buffers should be inserted in the en
|
| picture_buffers.begin(), |
| picture_buffers.end()); |
| @@ -396,6 +396,7 @@ |
| flush_done_callback_ = callback; |
| OMX_BUFFERHEADERTYPE* omx_buffer = free_input_buffers_.front(); |
| + free_input_buffers_.pop(); |
| omx_buffer->nFilledLen = 0; |
| omx_buffer->nAllocLen = omx_buffer->nFilledLen; |
| omx_buffer->nFlags |= OMX_BUFFERFLAG_EOS; |
| @@ -529,7 +530,6 @@ |
| OutputPicture output_picture = output_pictures_[i]; |
| client_->DismissPictureBuffer(output_picture.first); |
| } |
| - output_pictures_.clear(); |
| } |
| void OmxVideoDecodeAccelerator::OnStateChangeExecutingToIdle( |
| @@ -669,7 +669,7 @@ |
| // Calls to OMX to free buffers. |
| OMX_ERRORTYPE result; |
| OMX_BUFFERHEADERTYPE* omx_buffer; |
| - for (int i = 0; i < input_buffer_count_; ++i) { |
| + while (!free_input_buffers_.empty()) { |
| omx_buffer = free_input_buffers_.front(); |
| free_input_buffers_.pop(); |
| result = OMX_FreeBuffer(component_handle_, input_port_, omx_buffer); |
| @@ -855,6 +855,8 @@ |
| // has not been reached. |
| OMX_ERRORTYPE result; |
| OMX_STATETYPE il_state; |
| + if (client_state_ == OMX_StateLoaded) |
| + return false; |
|
vhiremath
2011/05/19 13:38:00
This check is useful in case we get ReusePictureBu
|
| result = OMX_GetState(component_handle_, &il_state); |
| if (result != OMX_ErrorNone) { |
| LOG(ERROR) << "SendCommand(OMX_CommandPortDisable) failed"; |