From ae84de4fd565c6efb2ffdea7c97a47697d50845f Mon Sep 17 00:00:00 2001 From: "scherkus@chromium.org" Date: Wed, 25 Nov 2009 00:24:01 +0000 Subject: Implement method stubs for OpenMAX IL instead of relying on -lOmxCore. You can switch to using -lOmxCore by setting the gyp variable use_system_openmax=1. Also fixed type-punning warnings in omx_video_decoder.cc BUG=28663 TEST=building omx_test should have no linker errors Review URL: http://codereview.chromium.org/431041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33012 0039d316-1c4b-4281-b951-d872f2087c98 --- media/media.gyp | 15 +++++++++++++++ media/omx/omx_test.cc | 3 ++- media/omx/omx_test.gyp | 30 ------------------------------ media/omx/omx_video_decoder.cc | 8 ++++---- 4 files changed, 21 insertions(+), 35 deletions(-) delete mode 100644 media/omx/omx_test.gyp (limited to 'media') diff --git a/media/media.gyp b/media/media.gyp index 4b5c13f..14c41b9 100644 --- a/media/media.gyp +++ b/media/media.gyp @@ -238,6 +238,21 @@ 'tools/qt_faststart.c' ], }, + { + 'target_name': 'omx_test', + 'type': 'executable', + 'dependencies': [ + '../base/base.gyp:base', + '../third_party/openmax/openmax.gyp:il', + ], + 'sources': [ + 'omx/input_buffer.cc', + 'omx/input_buffer.h', + 'omx/omx_test.cc', + 'omx/omx_video_decoder.cc', + 'omx/omx_video_decoder.h', + ], + }, ], 'conditions': [ ['OS=="win"', { diff --git a/media/omx/omx_test.cc b/media/omx/omx_test.cc index 306a2fd..bb4ffd2 100644 --- a/media/omx/omx_test.cc +++ b/media/omx/omx_test.cc @@ -12,6 +12,7 @@ #include "base/at_exit.h" #include "base/command_line.h" +#include "base/file_util.h" #include "base/message_loop.h" #include "base/scoped_ptr.h" #include "media/omx/input_buffer.h" @@ -89,7 +90,7 @@ class TestApp { void Run() { // Open the input file. - file_ = fopen(filename_, "rb"); + file_ = file_util::OpenFile(filename_, "rb"); if (!file_) { printf("Error - can't open file %s\n", filename_); return; diff --git a/media/omx/omx_test.gyp b/media/omx/omx_test.gyp deleted file mode 100644 index 0e2fcaa..0000000 --- a/media/omx/omx_test.gyp +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright (c) 2009 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -{ - 'variables': { - 'chromium_code': 1, - }, - 'conditions': [ - ['OS=="linux"', { - 'targets' : [ - { - 'target_name': 'omx_test', - 'type': 'executable', - 'dependencies': [ - '../../base/base.gyp:base', - '../../third_party/openmax/openmax.gyp:il', - ], - 'sources': [ - 'input_buffer.cc', - 'input_buffer.h', - 'omx_test.cc', - 'omx_video_decoder.cc', - 'omx_video_decoder.h', - ], - }, - ], - }], - ], -} diff --git a/media/omx/omx_video_decoder.cc b/media/omx/omx_video_decoder.cc index b5857ed..cdf0d5d 100644 --- a/media/omx/omx_video_decoder.cc +++ b/media/omx/omx_video_decoder.cc @@ -271,7 +271,6 @@ void OmxVideoDecoder::Transition_EmptyToLoaded() { DCHECK_EQ(message_loop_, MessageLoop::current()); DCHECK_EQ(kEmpty, GetState()); - const char* component; OMX_CALLBACKTYPE callback = { &EventHandler, &EmptyBufferCallback, &FillBufferCallback }; @@ -288,9 +287,10 @@ void OmxVideoDecoder::Transition_EmptyToLoaded() { // 2. Get the handle to the component. After OMX_GetHandle(), // the component is in loaded state. // TODO(hclam): We should have a list of componant names instead. - component = component_; - omxresult = OMX_GetHandle((OMX_HANDLETYPE*)(&decoder_handle_), - (OMX_STRING)component, this, &callback); + OMX_STRING component = const_cast(component_); + OMX_HANDLETYPE handle = reinterpret_cast(decoder_handle_); + omxresult = OMX_GetHandle(&handle, component, this, &callback); + decoder_handle_ = reinterpret_cast(handle); if (omxresult != OMX_ErrorNone) { LOG(ERROR) << "Failed to Load the component: " << component; StateTransitionTask(kError); -- cgit v1.1