Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(178)

Unified Diff: content/common/gpu/media/omx_video_decode_accelerator.cc

Issue 10828022: Strip IVF headers from VP8 streams before sending them to the OMX decoder. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/common/gpu/media/omx_video_decode_accelerator.cc
diff --git a/content/common/gpu/media/omx_video_decode_accelerator.cc b/content/common/gpu/media/omx_video_decode_accelerator.cc
index 915cc8edbf4df0a25462beca3121abac568aeaf5..1934a43381299eb0837f807a582da560c321e249 100644
--- a/content/common/gpu/media/omx_video_decode_accelerator.cc
+++ b/content/common/gpu/media/omx_video_decode_accelerator.cc
@@ -475,12 +475,10 @@ void OmxVideoDecodeAccelerator::Destroy() {
void OmxVideoDecodeAccelerator::BeginTransitionToState(
OMX_STATETYPE new_state) {
DCHECK_EQ(message_loop_, MessageLoop::current());
- DCHECK_NE(current_state_change_, NO_TRANSITION);
- DCHECK_NE(current_state_change_, ERRORING);
Ami GONE FROM CHROMIUM 2012/07/25 22:41:15 I must have been on crack when I wrote this; the e
- if (current_state_change_ == NO_TRANSITION ||
- current_state_change_ == ERRORING) {
+ if (new_state != OMX_StateInvalid)
+ DCHECK_NE(current_state_change_, NO_TRANSITION);
+ if (current_state_change_ == ERRORING)
return;
- }
OMX_ERRORTYPE result = OMX_SendCommand(
component_handle_, OMX_CommandStateSet, new_state, 0);
RETURN_ON_OMX_FAILURE(result, "SendCommand(OMX_CommandStateSet) failed",
@@ -960,7 +958,8 @@ void OmxVideoDecodeAccelerator::EventHandlerCompleteTask(OMX_EVENTTYPE event,
}
return;
case OMX_EventPortSettingsChanged:
- if (data2 == OMX_IndexParamPortDefinition) {
+ if ((data2 == OMX_IndexParamPortDefinition) || // Tegra2/3
+ (data2 == 0)) { // Exynos SEC-OMX; http://crosbug.com/p/11665
DCHECK_EQ(data1, output_port_);
// This event is only used for output resize; kick off handling that by
// pausing the output port.

Powered by Google App Engine
This is Rietveld 408576698