Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(971)

Unified Diff: media/base/mock_media_filters.h

Issue 42521: Ability for demuxer clients to get to FFmpeg's AVStream object exposed as an ... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « media/base/filters.h ('k') | media/base/pipeline_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
};
« no previous file with comments | « media/base/filters.h ('k') | media/base/pipeline_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698