summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-25 00:24:01 +0000
committerscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-25 00:24:01 +0000
commitae84de4fd565c6efb2ffdea7c97a47697d50845f (patch)
tree77050fca7b5a2e7715939540151fad40895406cb /media
parent3c4e3015463fd407ccd932e5da17e3c4bc8e3c5c (diff)
downloadchromium_src-ae84de4fd565c6efb2ffdea7c97a47697d50845f.zip
chromium_src-ae84de4fd565c6efb2ffdea7c97a47697d50845f.tar.gz
chromium_src-ae84de4fd565c6efb2ffdea7c97a47697d50845f.tar.bz2
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
Diffstat (limited to 'media')
-rw-r--r--media/media.gyp15
-rw-r--r--media/omx/omx_test.cc3
-rw-r--r--media/omx/omx_test.gyp30
-rw-r--r--media/omx/omx_video_decoder.cc8
4 files changed, 21 insertions, 35 deletions
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<OMX_STRING>(component_);
+ OMX_HANDLETYPE handle = reinterpret_cast<OMX_HANDLETYPE>(decoder_handle_);
+ omxresult = OMX_GetHandle(&handle, component, this, &callback);
+ decoder_handle_ = reinterpret_cast<OMX_COMPONENTTYPE*>(handle);
if (omxresult != OMX_ErrorNone) {
LOG(ERROR) << "Failed to Load the component: " << component;
StateTransitionTask(kError);