diff options
author | wjia@chromium.org <wjia@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-07 16:45:55 +0000 |
---|---|---|
committer | wjia@chromium.org <wjia@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-07 16:45:55 +0000 |
commit | 4990cf2cb2302f7313564348e36fd0ffebdfaf07 (patch) | |
tree | ff2156fe4369150df4e5c86ae038daf3ab964ad2 /media/base | |
parent | b1bf6fb646bbca873ba3586ce8a7bacce4d1dfbc (diff) | |
download | chromium_src-4990cf2cb2302f7313564348e36fd0ffebdfaf07.zip chromium_src-4990cf2cb2302f7313564348e36fd0ffebdfaf07.tar.gz chromium_src-4990cf2cb2302f7313564348e36fd0ffebdfaf07.tar.bz2 |
The RTCVideoDecoder will eventially need to depend on third_party lib (webrtc, libjinle etc), which is not allowed in media. So move rtc_video_decoder* from media/filter/ to content/renderer/media/.
patch by ronghuawu@google.com
BUG=none
TEST=unit_tests, media_unittests
Review URL: http://codereview.chromium.org/7193001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91721 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/base')
-rw-r--r-- | media/base/pipeline.h | 6 | ||||
-rw-r--r-- | media/base/pipeline_impl.cc | 8 | ||||
-rw-r--r-- | media/base/pipeline_impl_unittest.cc | 9 |
3 files changed, 15 insertions, 8 deletions
diff --git a/media/base/pipeline.h b/media/base/pipeline.h index ca7727a..9686bb6 100644 --- a/media/base/pipeline.h +++ b/media/base/pipeline.h @@ -21,6 +21,8 @@ class TimeDelta; namespace media { +extern const char kRawMediaScheme[]; + struct PipelineStatistics { PipelineStatistics() : audio_bytes_decoded(0), @@ -29,8 +31,8 @@ struct PipelineStatistics { video_frames_dropped(0) { } - uint32 audio_bytes_decoded; // Should be uint64? - uint32 video_bytes_decoded; // Should be uint64? + uint32 audio_bytes_decoded; // Should be uint64? + uint32 video_bytes_decoded; // Should be uint64? uint32 video_frames_decoded; uint32 video_frames_dropped; }; diff --git a/media/base/pipeline_impl.cc b/media/base/pipeline_impl.cc index 809463e..bfeda09 100644 --- a/media/base/pipeline_impl.cc +++ b/media/base/pipeline_impl.cc @@ -13,14 +13,16 @@ #include "base/callback.h" #include "base/compiler_specific.h" #include "base/stl_util-inl.h" +#include "base/string_util.h" #include "base/synchronization/condition_variable.h" -#include "media/filters/rtc_video_decoder.h" #include "media/base/clock.h" #include "media/base/filter_collection.h" #include "media/base/media_format.h" namespace media { +const char kRawMediaScheme[] = "x-raw-media"; + PipelineStatusNotification::PipelineStatusNotification() : cv_(&lock_), status_(PIPELINE_OK), notified_(false) { callback_.reset(NewCallback(this, &PipelineStatusNotification::Notify)); @@ -617,7 +619,9 @@ void PipelineImpl::StartTask(FilterCollection* filter_collection, pipeline_init_state_->composite_ = new CompositeFilter(message_loop_); pipeline_init_state_->composite_->set_host(this); - if (RTCVideoDecoder::IsUrlSupported(url)) { + bool raw_media = (base::strncasecmp(url.c_str(), kRawMediaScheme, + strlen(kRawMediaScheme)) == 0); + if (raw_media) { set_state(kInitVideoDecoder); InitializeVideoDecoder(NULL); } else { diff --git a/media/base/pipeline_impl_unittest.cc b/media/base/pipeline_impl_unittest.cc index 8238c21..c0a85b3 100644 --- a/media/base/pipeline_impl_unittest.cc +++ b/media/base/pipeline_impl_unittest.cc @@ -34,7 +34,7 @@ static const int kTotalBytes = 1024; static const int kBufferedBytes = 1024; // Test url for raw video pipeline. -static const std::string kUrlMedia = "media://raw_video_stream"; +static const char kUrlRawVideo[] = "://raw_video_stream"; // Used for setting expectations on pipeline callbacks. Using a StrictMock // also lets us test for missing callbacks. @@ -206,8 +206,8 @@ class PipelineImplTest : public ::testing::Test { EXPECT_CALL(callbacks_, OnStart(start_status)); bool run_build = true; - if (url.compare(kUrlMedia) == 0) - run_build = false; + if (url.find(kRawMediaScheme) == 0) + run_build = false; pipeline_->Start(mocks_->filter_collection(true, true, @@ -430,7 +430,8 @@ TEST_F(PipelineImplTest, RawVideoStream) { InitializeVideoDecoder(NULL); InitializeVideoRenderer(); - InitializePipeline(PIPELINE_OK, PIPELINE_OK, kUrlMedia); + InitializePipeline(PIPELINE_OK, PIPELINE_OK, + std::string(kRawMediaScheme).append(kUrlRawVideo)); EXPECT_TRUE(pipeline_->IsInitialized()); EXPECT_FALSE(pipeline_->HasAudio()); EXPECT_TRUE(pipeline_->HasVideo()); |