Index: media/base/mock_media_filters.h |
=================================================================== |
--- media/base/mock_media_filters.h (revision 12463) |
+++ media/base/mock_media_filters.h (working copy) |
@@ -195,6 +195,39 @@ |
//------------------------------------------------------------------------------ |
+class MockDemuxerStream : public DemuxerStream { |
+ public: |
+ MockDemuxerStream(const MockFilterConfig* config, bool is_audio) { |
+ if (is_audio) { |
+ media_format_.SetAsString(MediaFormat::kMimeType, |
+ config->compressed_audio_mime_type); |
+ } else { |
+ media_format_.SetAsString(MediaFormat::kMimeType, |
+ config->compressed_video_mime_type); |
+ media_format_.SetAsInteger(MediaFormat::kWidth, config->video_width); |
+ media_format_.SetAsInteger(MediaFormat::kHeight, config->video_height); |
+ } |
+ } |
+ |
+ // Implementation of DemuxerStream. |
+ virtual const MediaFormat* GetMediaFormat() { |
+ return &media_format_; |
+ } |
+ |
+ virtual void Read(Assignable<Buffer>* buffer) { |
+ NOTREACHED(); // TODO(ralphl): fix me!! |
+ } |
+ |
+ private: |
+ virtual ~MockDemuxerStream() {} |
+ |
+ MediaFormat media_format_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(MockDemuxerStream); |
+}; |
+ |
+//------------------------------------------------------------------------------ |
+ |
class MockDemuxer : public Demuxer { |
public: |
static FilterFactory* CreateFactory(const MockFilterConfig* config) { |
@@ -204,8 +237,8 @@ |
explicit MockDemuxer(const MockFilterConfig* config) |
: config_(config), |
- mock_audio_stream_(config, true), |
- mock_video_stream_(config, false) { |
+ mock_audio_stream_(new MockDemuxerStream(config, true)), |
+ mock_video_stream_(new MockDemuxerStream(config, false)) { |
} |
// Implementation of MediaFilter. |
@@ -228,18 +261,18 @@ |
return num_streams; |
} |
- virtual DemuxerStream* GetStream(int stream_id) { |
+ virtual scoped_refptr<DemuxerStream> GetStream(int stream_id) { |
switch (stream_id) { |
case 0: |
if (config_->has_audio) { |
- return &mock_audio_stream_; |
+ return mock_audio_stream_; |
} else if (config_->has_video) { |
- return &mock_video_stream_; |
+ return mock_video_stream_; |
} |
break; |
case 1: |
if (config_->has_audio && config_->has_video) { |
- return &mock_video_stream_; |
+ return mock_video_stream_; |
} |
break; |
} |
@@ -250,41 +283,9 @@ |
private: |
virtual ~MockDemuxer() {} |
- // Internal class implements DemuxerStream interface. |
- class MockDemuxerStream : public DemuxerStream { |
- public: |
- MockDemuxerStream(const MockFilterConfig* config, bool is_audio) { |
- if (is_audio) { |
- media_format_.SetAsString(MediaFormat::kMimeType, |
- config->compressed_audio_mime_type); |
- } else { |
- media_format_.SetAsString(MediaFormat::kMimeType, |
- config->compressed_video_mime_type); |
- media_format_.SetAsInteger(MediaFormat::kWidth, config->video_width); |
- media_format_.SetAsInteger(MediaFormat::kHeight, config->video_height); |
- } |
- } |
- |
- virtual ~MockDemuxerStream() {} |
- |
- // Implementation of DemuxerStream. |
- virtual const MediaFormat* GetMediaFormat() { |
- return &media_format_; |
- } |
- |
- virtual void Read(Assignable<Buffer>* buffer) { |
- NOTREACHED(); // TODO(ralphl): fix me!! |
- } |
- |
- private: |
- MediaFormat media_format_; |
- |
- DISALLOW_COPY_AND_ASSIGN(MockDemuxerStream); |
- }; |
- |
const MockFilterConfig* config_; |
- MockDemuxerStream mock_audio_stream_; |
- MockDemuxerStream mock_video_stream_; |
+ scoped_refptr<DemuxerStream> mock_audio_stream_; |
+ scoped_refptr<DemuxerStream> mock_video_stream_; |
DISALLOW_COPY_AND_ASSIGN(MockDemuxer); |
}; |