summaryrefslogtreecommitdiffstats
path: root/media/tools
diff options
context:
space:
mode:
authorajwong@chromium.org <ajwong@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-22 21:27:52 +0000
committerajwong@chromium.org <ajwong@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-22 21:27:52 +0000
commit55424ebf0473d77fd3acdfd3d4d1fab52e5ecdf3 (patch)
treecc33197cf9a838dde3d9efbd62229c74e8f67320 /media/tools
parent6307cdcd4c47a404c48415b5ac2303f2590d00c3 (diff)
downloadchromium_src-55424ebf0473d77fd3acdfd3d4d1fab52e5ecdf3.zip
chromium_src-55424ebf0473d77fd3acdfd3d4d1fab52e5ecdf3.tar.gz
chromium_src-55424ebf0473d77fd3acdfd3d4d1fab52e5ecdf3.tar.bz2
Implementation of OmxVideoDecodeEngine.
Also moves FFmpegVideoDecodeEngine FFmpegVideoDecoder, OmxVideoDecoder, and VideoDecoderImpl into their own files. Refactors FFmpegDemuxerTest to be less of a characterization test, and to hopefully be less fragile. Creates a set of utilities for handling Callbacks versus Tasks, and resource management related to Callbacks. Re-enables the annexb filters for the chrome build of FFmpeg. Added a BitstreamConverter class that abstracts the bitstream filter code. Cleans up a few gyp mistakes with flag exporting. Review URL: http://codereview.chromium.org/492023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35171 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/tools')
-rw-r--r--media/tools/player_x11/player_x11.cc10
1 files changed, 7 insertions, 3 deletions
diff --git a/media/tools/player_x11/player_x11.cc b/media/tools/player_x11/player_x11.cc
index ac8bbdd..a734574 100644
--- a/media/tools/player_x11/player_x11.cc
+++ b/media/tools/player_x11/player_x11.cc
@@ -19,6 +19,7 @@
#include "media/filters/ffmpeg_video_decoder.h"
#include "media/filters/file_data_source.h"
#include "media/filters/null_audio_renderer.h"
+#include "media/filters/omx_video_decoder.h"
#include "media/tools/player_x11/x11_video_renderer.h"
Display* g_display = NULL;
@@ -64,6 +65,9 @@ bool InitPipeline(MessageLoop* message_loop,
factories->AddFactory(media::FileDataSource::CreateFactory());
factories->AddFactory(media::FFmpegAudioDecoder::CreateFactory());
factories->AddFactory(media::FFmpegDemuxer::CreateFilterFactory());
+ if (CommandLine::ForCurrentProcess()->HasSwitch("use-omx")) {
+ factories->AddFactory(media::OmxVideoDecoder::CreateFactory());
+ }
factories->AddFactory(media::FFmpegVideoDecoder::CreateFactory());
factories->AddFactory(X11VideoRenderer::CreateFactory(g_display, g_window));
@@ -153,11 +157,11 @@ int main(int argc, char** argv) {
usleep(10000);
}
}
+ pipeline->Stop(NULL);
+ } else{
+ std::cout << "Pipeline initialization failed..." << std::endl;
}
- std::cout << "Stopping..." << std::endl;
- pipeline->Stop(NULL);
-
// Cleanup tasks.
thread->Stop();
XDestroyWindow(g_display, g_window);