summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorwjia@chromium.org <wjia@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-07 16:45:55 +0000
committerwjia@chromium.org <wjia@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-07 16:45:55 +0000
commit4990cf2cb2302f7313564348e36fd0ffebdfaf07 (patch)
treeff2156fe4369150df4e5c86ae038daf3ab964ad2 /media
parentb1bf6fb646bbca873ba3586ce8a7bacce4d1dfbc (diff)
downloadchromium_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')
-rw-r--r--media/base/pipeline.h6
-rw-r--r--media/base/pipeline_impl.cc8
-rw-r--r--media/base/pipeline_impl_unittest.cc9
-rw-r--r--media/filters/rtc_video_decoder.cc277
-rw-r--r--media/filters/rtc_video_decoder.h93
-rw-r--r--media/filters/rtc_video_decoder_unittest.cc174
-rw-r--r--media/media.gyp4
7 files changed, 15 insertions, 556 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());
diff --git a/media/filters/rtc_video_decoder.cc b/media/filters/rtc_video_decoder.cc
deleted file mode 100644
index 6744569..0000000
--- a/media/filters/rtc_video_decoder.cc
+++ /dev/null
@@ -1,277 +0,0 @@
-// Copyright (c) 2011 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.
-
-#include "media/filters/rtc_video_decoder.h"
-
-#include <deque>
-
-#include "base/task.h"
-#include "googleurl/src/gurl.h"
-#include "media/base/callback.h"
-#include "media/base/filter_host.h"
-#include "media/base/filters.h"
-#include "media/base/limits.h"
-#include "media/base/media_format.h"
-#include "media/base/video_frame.h"
-
-namespace media {
-
-static const char kMediaScheme[] = "media";
-
-RTCVideoDecoder::RTCVideoDecoder(MessageLoop* message_loop,
- const std::string& url)
- : message_loop_(message_loop),
- width_(176),
- height_(144),
- url_(url),
- state_(kUnInitialized) {
-}
-
-RTCVideoDecoder::~RTCVideoDecoder() {
-}
-
-void RTCVideoDecoder::Initialize(DemuxerStream* demuxer_stream,
- FilterCallback* filter_callback,
- StatisticsCallback* stat_callback) {
- if (MessageLoop::current() != message_loop_) {
- message_loop_->PostTask(
- FROM_HERE,
- NewRunnableMethod(this,
- &RTCVideoDecoder::Initialize,
- make_scoped_refptr(demuxer_stream),
- filter_callback, stat_callback));
- return;
- }
-
- DCHECK_EQ(MessageLoop::current(), message_loop_);
-
- lock_.Acquire();
- frame_queue_available_.clear();
- lock_.Release();
- media_format_.SetAsInteger(MediaFormat::kWidth, width_);
- media_format_.SetAsInteger(MediaFormat::kHeight, height_);
- media_format_.SetAsInteger(MediaFormat::kSurfaceType,
- static_cast<int>(VideoFrame::YV12));
- media_format_.SetAsInteger(MediaFormat::kSurfaceFormat,
- static_cast<int>(VideoFrame::TYPE_SYSTEM_MEMORY));
-
- state_ = kNormal;
-
- filter_callback->Run();
- delete filter_callback;
-
- // TODO(acolwell): Implement stats.
- delete stat_callback;
-}
-
-void RTCVideoDecoder::Play(FilterCallback* callback) {
- if (MessageLoop::current() != message_loop_) {
- message_loop_->PostTask(FROM_HERE,
- NewRunnableMethod(this,
- &RTCVideoDecoder::Play,
- callback));
- return;
- }
-
- DCHECK_EQ(MessageLoop::current(), message_loop_);
-
- VideoDecoder::Play(callback);
-}
-
-void RTCVideoDecoder::Pause(FilterCallback* callback) {
- if (MessageLoop::current() != message_loop_) {
- message_loop_->PostTask(FROM_HERE,
- NewRunnableMethod(this,
- &RTCVideoDecoder::Pause,
- callback));
- return;
- }
-
- DCHECK_EQ(MessageLoop::current(), message_loop_);
-
- state_ = kPaused;
-
- VideoDecoder::Pause(callback);
-}
-
-void RTCVideoDecoder::Stop(FilterCallback* callback) {
- if (MessageLoop::current() != message_loop_) {
- message_loop_->PostTask(FROM_HERE,
- NewRunnableMethod(this,
- &RTCVideoDecoder::Stop,
- callback));
- return;
- }
-
- DCHECK_EQ(MessageLoop::current(), message_loop_);
-
- state_ = kStopped;
-
- VideoDecoder::Stop(callback);
-
- // TODO(ronghuawu): Stop rtc
-}
-
-void RTCVideoDecoder::Seek(base::TimeDelta time, const FilterStatusCB& cb) {
- if (MessageLoop::current() != message_loop_) {
- message_loop_->PostTask(FROM_HERE,
- NewRunnableMethod(this, &RTCVideoDecoder::Seek,
- time, cb));
- return;
- }
-
- DCHECK_EQ(MessageLoop::current(), message_loop_);
-
- state_ = kSeeking;
- // Create output buffer pool and pass the frames to renderer
- // so that the renderer can complete the seeking
- for (size_t i = 0; i < Limits::kMaxVideoFrames; ++i) {
- scoped_refptr<VideoFrame> video_frame;
- VideoFrame::CreateFrame(VideoFrame::YV12,
- width_,
- height_,
- kNoTimestamp,
- kNoTimestamp,
- &video_frame);
- if (!video_frame.get()) {
- break;
- }
-
- // Create black frame
- const uint8 kBlackY = 0x00;
- const uint8 kBlackUV = 0x80;
- // Fill the Y plane.
- uint8* y_plane = video_frame->data(VideoFrame::kYPlane);
- for (size_t i = 0; i < height_; ++i) {
- memset(y_plane, kBlackY, width_);
- y_plane += video_frame->stride(VideoFrame::kYPlane);
- }
- // Fill the U and V planes.
- uint8* u_plane = video_frame->data(VideoFrame::kUPlane);
- uint8* v_plane = video_frame->data(VideoFrame::kVPlane);
- for (size_t i = 0; i < (height_ / 2); ++i) {
- memset(u_plane, kBlackUV, width_ / 2);
- memset(v_plane, kBlackUV, width_ / 2);
- u_plane += video_frame->stride(VideoFrame::kUPlane);
- v_plane += video_frame->stride(VideoFrame::kVPlane);
- }
-
- VideoFrameReady(video_frame);
- }
-
- state_ = kNormal;
-
- cb.Run(PIPELINE_OK);
-
- // TODO(ronghuawu): Start rtc
-}
-
-const MediaFormat& RTCVideoDecoder::media_format() {
- return media_format_;
-}
-
-void RTCVideoDecoder::ProduceVideoFrame(
- scoped_refptr<VideoFrame> video_frame) {
- if (MessageLoop::current() != message_loop_) {
- message_loop_->PostTask(
- FROM_HERE,
- NewRunnableMethod(this,
- &RTCVideoDecoder::ProduceVideoFrame, video_frame));
- return;
- }
- DCHECK_EQ(MessageLoop::current(), message_loop_);
- lock_.Acquire();
- frame_queue_available_.push_back(video_frame);
- lock_.Release();
-}
-
-bool RTCVideoDecoder::ProvidesBuffer() {
- return true;
-}
-
-int RTCVideoDecoder::FrameSizeChange(unsigned int width,
- unsigned int height,
- unsigned int number_of_streams) {
- width_ = width;
- height_ = height;
-
- media_format_.SetAsInteger(MediaFormat::kWidth, width_);
- media_format_.SetAsInteger(MediaFormat::kHeight, height_);
- host()->SetVideoSize(width_, height_);
- return 0;
-}
-
-int RTCVideoDecoder::DeliverFrame(unsigned char* buffer,
- int buffer_size) {
- DCHECK(buffer);
-
- if (frame_queue_available_.size() == 0)
- return 0;
-
- if (state_ != kNormal)
- return 0;
-
- // This is called from another thread
- lock_.Acquire();
- scoped_refptr<VideoFrame> video_frame = frame_queue_available_.front();
- frame_queue_available_.pop_front();
- lock_.Release();
-
- // Check if there's a size change
- if (video_frame->width() != width_ || video_frame->height() != height_) {
- video_frame.release();
- // Allocate new buffer based on the new size
- VideoFrame::CreateFrame(VideoFrame::YV12,
- width_,
- height_,
- kNoTimestamp,
- kNoTimestamp,
- &video_frame);
- if (!video_frame.get()) {
- return -1;
- }
- }
-
- video_frame->SetTimestamp(host()->GetTime());
- video_frame->SetDuration(base::TimeDelta::FromMilliseconds(30));
-
- uint8* y_plane = video_frame->data(VideoFrame::kYPlane);
- for (size_t row = 0; row < video_frame->height(); ++row) {
- memcpy(y_plane, buffer, width_);
- y_plane += video_frame->stride(VideoFrame::kYPlane);
- buffer += width_;
- }
- size_t uv_width = width_/2;
- uint8* u_plane = video_frame->data(VideoFrame::kUPlane);
- for (size_t row = 0; row < video_frame->height(); row += 2) {
- memcpy(u_plane, buffer, uv_width);
- u_plane += video_frame->stride(VideoFrame::kUPlane);
- buffer += uv_width;
- }
- uint8* v_plane = video_frame->data(VideoFrame::kVPlane);
- for (size_t row = 0; row < video_frame->height(); row += 2) {
- memcpy(v_plane, buffer, uv_width);
- v_plane += video_frame->stride(VideoFrame::kVPlane);
- buffer += uv_width;
- }
-
- if (MessageLoop::current() != message_loop_) {
- message_loop_->PostTask(
- FROM_HERE,
- NewRunnableMethod(this,
- &RTCVideoDecoder::VideoFrameReady,
- video_frame));
- } else {
- VideoFrameReady(video_frame);
- }
-
- return 0;
-}
-
-bool RTCVideoDecoder::IsUrlSupported(const std::string& url) {
- GURL gurl(url);
- return gurl.SchemeIs(kMediaScheme);
-}
-
-} // namespace media
diff --git a/media/filters/rtc_video_decoder.h b/media/filters/rtc_video_decoder.h
deleted file mode 100644
index 6b5b914..0000000
--- a/media/filters/rtc_video_decoder.h
+++ /dev/null
@@ -1,93 +0,0 @@
-// Copyright (c) 2011 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.
-
-#ifndef MEDIA_FILTERS_RTC_VIDEO_DECODER_H_
-#define MEDIA_FILTERS_RTC_VIDEO_DECODER_H_
-
-#include <deque>
-#include <string>
-
-#include "base/gtest_prod_util.h"
-#include "base/time.h"
-#include "media/base/filters.h"
-#include "media/base/video_frame.h"
-#include "media/filters/decoder_base.h"
-
-// TODO(ronghuawu) ExternalRenderer should be defined in WebRtc
-class ExternalRenderer {
- public:
- virtual int FrameSizeChange(unsigned int width,
- unsigned int height,
- unsigned int number_of_streams) = 0;
- virtual int DeliverFrame(unsigned char* buffer, int buffer_size) = 0;
-
- protected:
- virtual ~ExternalRenderer() {}
-};
-
-namespace media {
-
-class RTCVideoDecoder : public VideoDecoder,
- public ExternalRenderer {
- public:
- RTCVideoDecoder(MessageLoop* message_loop, const std::string& url);
- virtual ~RTCVideoDecoder();
-
- // Filter implementation.
- virtual void Play(FilterCallback* callback);
- virtual void Seek(base::TimeDelta time, const FilterStatusCB& cb);
- virtual void Pause(FilterCallback* callback);
- virtual void Stop(FilterCallback* callback);
-
- // Decoder implementation.
- virtual void Initialize(DemuxerStream* demuxer_stream,
- FilterCallback* filter_callback,
- StatisticsCallback* stat_callback);
- virtual const MediaFormat& media_format();
- virtual void ProduceVideoFrame(scoped_refptr<VideoFrame> video_frame);
- virtual bool ProvidesBuffer();
-
- // ExternalRenderer implementation
- virtual int FrameSizeChange(unsigned int width,
- unsigned int height,
- unsigned int number_of_streams);
-
- virtual int DeliverFrame(unsigned char* buffer,
- int buffer_size);
-
- // TODO(ronghuawu): maybe move this function to a
- // base class (RawVideoDecoder) so that the camera preview may share this.
- static bool IsUrlSupported(const std::string& url);
-
- private:
- friend class RTCVideoDecoderTest;
- FRIEND_TEST_ALL_PREFIXES(RTCVideoDecoderTest, Initialize_Successful);
- FRIEND_TEST_ALL_PREFIXES(RTCVideoDecoderTest, DoSeek);
- FRIEND_TEST_ALL_PREFIXES(RTCVideoDecoderTest, DoDeliverFrame);
- FRIEND_TEST_ALL_PREFIXES(RTCVideoDecoderTest, DoFrameSizeChange);
-
- enum DecoderState {
- kUnInitialized,
- kNormal,
- kSeeking,
- kPaused,
- kStopped
- };
-
- MessageLoop* message_loop_;
- size_t width_;
- size_t height_;
- std::string url_;
- DecoderState state_;
- MediaFormat media_format_;
- std::deque<scoped_refptr<VideoFrame> > frame_queue_available_;
- // Used for accessing frame queue from another thread.
- base::Lock lock_;
-
- DISALLOW_COPY_AND_ASSIGN(RTCVideoDecoder);
-};
-
-} // namespace media
-
-#endif // MEDIA_FILTERS_RTC_VIDEO_DECODER_H_
diff --git a/media/filters/rtc_video_decoder_unittest.cc b/media/filters/rtc_video_decoder_unittest.cc
deleted file mode 100644
index 71287d0..0000000
--- a/media/filters/rtc_video_decoder_unittest.cc
+++ /dev/null
@@ -1,174 +0,0 @@
-// Copyright (c) 2011 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.
-
-#include <deque>
-
-#include "base/bind.h"
-#include "base/memory/singleton.h"
-#include "base/string_util.h"
-#include "media/base/data_buffer.h"
-#include "media/base/filters.h"
-#include "media/base/limits.h"
-#include "media/base/mock_callback.h"
-#include "media/base/mock_filter_host.h"
-#include "media/base/mock_filters.h"
-#include "media/base/mock_task.h"
-#include "media/base/video_frame.h"
-#include "media/filters/rtc_video_decoder.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-using ::testing::_;
-using ::testing::AnyNumber;
-using ::testing::DoAll;
-using ::testing::Message;
-using ::testing::Return;
-using ::testing::ReturnNull;
-using ::testing::SetArgumentPointee;
-using ::testing::StrictMock;
-using ::testing::WithArg;
-using ::testing::Invoke;
-
-namespace media {
-
-class RTCVideoDecoderTest : public testing::Test {
- protected:
- static const int kWidth;
- static const int kHeight;
- static const char* kUrl;
- static const PipelineStatistics kStatistics;
-
- RTCVideoDecoderTest() {
- MediaFormat media_format;
- decoder_ = new RTCVideoDecoder(&message_loop_, kUrl);
- renderer_ = new MockVideoRenderer();
-
- DCHECK(decoder_);
-
- // Inject mocks and prepare a demuxer stream.
- decoder_->set_host(&host_);
-
- EXPECT_CALL(stats_callback_object_, OnStatistics(_))
- .Times(AnyNumber());
- }
-
- virtual ~RTCVideoDecoderTest() {
- // Finish up any remaining tasks.
- message_loop_.RunAllPending();
- }
-
- void InitializeDecoderSuccessfully() {
- // Test successful initialization.
- decoder_->Initialize(NULL,
- NewExpectedCallback(), NewStatisticsCallback());
- message_loop_.RunAllPending();
- }
-
- StatisticsCallback* NewStatisticsCallback() {
- return NewCallback(&stats_callback_object_,
- &MockStatisticsCallback::OnStatistics);
- }
-
- // Fixture members.
- scoped_refptr<RTCVideoDecoder> decoder_;
- scoped_refptr<MockVideoRenderer> renderer_;
- MockStatisticsCallback stats_callback_object_;
- StrictMock<MockFilterHost> host_;
- MessageLoop message_loop_;
-
- private:
- DISALLOW_COPY_AND_ASSIGN(RTCVideoDecoderTest);
-};
-
-const int RTCVideoDecoderTest::kWidth = 176;
-const int RTCVideoDecoderTest::kHeight = 144;
-const char* RTCVideoDecoderTest::kUrl = "media://remote/0";
-const PipelineStatistics RTCVideoDecoderTest::kStatistics;
-
-TEST_F(RTCVideoDecoderTest, Initialize_Successful) {
- InitializeDecoderSuccessfully();
-
- // Test that the output media format is an uncompressed video surface that
- // matches the dimensions specified by rtc.
- const MediaFormat& media_format = decoder_->media_format();
- int width = 0;
- int height = 0;
- EXPECT_TRUE(media_format.GetAsInteger(MediaFormat::kWidth, &width));
- EXPECT_EQ(kWidth, width);
- EXPECT_TRUE(media_format.GetAsInteger(MediaFormat::kHeight, &height));
- EXPECT_EQ(kHeight, height);
-}
-
-TEST_F(RTCVideoDecoderTest, DoSeek) {
- const base::TimeDelta kZero;
-
- InitializeDecoderSuccessfully();
-
- decoder_->set_consume_video_frame_callback(
- base::Bind(&MockVideoRenderer::ConsumeVideoFrame,
- base::Unretained(renderer_.get())));
-
- // Expect Seek and verify the results.
- EXPECT_CALL(*renderer_.get(), ConsumeVideoFrame(_))
- .Times(Limits::kMaxVideoFrames);
- decoder_->Seek(kZero, NewExpectedStatusCB(PIPELINE_OK));
-
- message_loop_.RunAllPending();
- EXPECT_EQ(RTCVideoDecoder::kNormal, decoder_->state_);
-}
-
-TEST_F(RTCVideoDecoderTest, DoDeliverFrame) {
- const base::TimeDelta kZero;
- EXPECT_CALL(host_, GetTime()).WillRepeatedly(Return(base::TimeDelta()));
-
- InitializeDecoderSuccessfully();
-
- // Pass the frame back to decoder
- decoder_->set_consume_video_frame_callback(
- base::Bind(&RTCVideoDecoder::ProduceVideoFrame,
- base::Unretained(decoder_.get())));
- decoder_->Seek(kZero, NewExpectedStatusCB(PIPELINE_OK));
-
- decoder_->set_consume_video_frame_callback(
- base::Bind(&MockVideoRenderer::ConsumeVideoFrame,
- base::Unretained(renderer_.get())));
- EXPECT_CALL(*renderer_.get(), ConsumeVideoFrame(_))
- .Times(Limits::kMaxVideoFrames);
-
- unsigned int video_frame_size = decoder_->width_*decoder_->height_*3/2;
- unsigned char* video_frame = new unsigned char[video_frame_size];
-
- for (size_t i = 0; i < Limits::kMaxVideoFrames; ++i) {
- decoder_->DeliverFrame(video_frame, video_frame_size);
- }
- delete [] video_frame;
-
- message_loop_.RunAllPending();
- EXPECT_EQ(RTCVideoDecoder::kNormal, decoder_->state_);
-}
-
-TEST_F(RTCVideoDecoderTest, DoFrameSizeChange) {
- InitializeDecoderSuccessfully();
-
- int new_width = kWidth * 2;
- int new_height = kHeight * 2;
- int new_number_of_streams = 0;
-
- EXPECT_CALL(host_,
- SetVideoSize(new_width, new_height)).WillRepeatedly(Return());
-
- decoder_->FrameSizeChange(new_width, new_height, new_number_of_streams);
-
- const MediaFormat& media_format = decoder_->media_format();
- int width = 0;
- int height = 0;
- EXPECT_TRUE(media_format.GetAsInteger(MediaFormat::kWidth, &width));
- EXPECT_EQ(new_width, width);
- EXPECT_TRUE(media_format.GetAsInteger(MediaFormat::kHeight, &height));
- EXPECT_EQ(new_height, height);
-
- message_loop_.RunAllPending();
-}
-
-
-} // namespace media
diff --git a/media/media.gyp b/media/media.gyp
index a7ed4ea..692b301 100644
--- a/media/media.gyp
+++ b/media/media.gyp
@@ -178,8 +178,6 @@
'filters/null_audio_renderer.h',
'filters/null_video_renderer.cc',
'filters/null_video_renderer.h',
- 'filters/rtc_video_decoder.cc',
- 'filters/rtc_video_decoder.h',
'filters/video_renderer_base.cc',
'filters/video_renderer_base.h',
'video/capture/fake_video_capture_device.cc',
@@ -392,7 +390,6 @@
'../base/base.gyp:base',
'../base/base.gyp:base_i18n',
'../base/base.gyp:test_support_base',
- '../build/temp_gyp/googleurl.gyp:googleurl',
'../testing/gmock.gyp:gmock',
'../testing/gtest.gyp:gtest',
'../third_party/ffmpeg/ffmpeg.gyp:ffmpeg',
@@ -440,7 +437,6 @@
'filters/ffmpeg_h264_bitstream_converter_unittest.cc',
'filters/ffmpeg_video_decoder_unittest.cc',
'filters/file_data_source_unittest.cc',
- 'filters/rtc_video_decoder_unittest.cc',
'filters/video_renderer_base_unittest.cc',
'video/capture/video_capture_device_unittest.cc',
'video/ffmpeg_video_decode_engine_unittest.cc',