diff options
Diffstat (limited to 'media/base')
-rw-r--r-- | media/base/decoder_factory.cc | 4 | ||||
-rw-r--r-- | media/base/decoder_factory.h | 15 |
2 files changed, 17 insertions, 2 deletions
diff --git a/media/base/decoder_factory.cc b/media/base/decoder_factory.cc index 8fa99ae..c9fe057 100644 --- a/media/base/decoder_factory.cc +++ b/media/base/decoder_factory.cc @@ -4,6 +4,8 @@ #include "media/base/decoder_factory.h" +#include "base/single_thread_task_runner.h" + namespace media { DecoderFactory::DecoderFactory() {} @@ -11,9 +13,11 @@ DecoderFactory::DecoderFactory() {} DecoderFactory::~DecoderFactory() {} void DecoderFactory::CreateAudioDecoders( + scoped_refptr<base::SingleThreadTaskRunner> task_runner, ScopedVector<AudioDecoder>* audio_decoders) {} void DecoderFactory::CreateVideoDecoders( + scoped_refptr<base::SingleThreadTaskRunner> task_runner, ScopedVector<VideoDecoder>* video_decoders) {} } // namespace media diff --git a/media/base/decoder_factory.h b/media/base/decoder_factory.h index 21d66d2..9ae3f1b 100644 --- a/media/base/decoder_factory.h +++ b/media/base/decoder_factory.h @@ -6,9 +6,14 @@ #define MEDIA_BASE_DECODER_FACTORY_H_ #include "base/macros.h" +#include "base/memory/ref_counted.h" #include "base/memory/scoped_vector.h" #include "media/base/media_export.h" +namespace base { +class SingleThreadTaskRunner; +} + namespace media { class AudioDecoder; @@ -21,10 +26,16 @@ class MEDIA_EXPORT DecoderFactory { virtual ~DecoderFactory(); // Creates audio decoders and append them to the end of |audio_decoders|. - virtual void CreateAudioDecoders(ScopedVector<AudioDecoder>* audio_decoders); + // Decoders are single-threaded, each decoder should run on |task_runner|. + virtual void CreateAudioDecoders( + scoped_refptr<base::SingleThreadTaskRunner> task_runner, + ScopedVector<AudioDecoder>* audio_decoders); // Creates video decoders and append them to the end of |video_decoders|. - virtual void CreateVideoDecoders(ScopedVector<VideoDecoder>* video_decoders); + // Decoders are single-threaded, each decoder should run on |task_runner|. + virtual void CreateVideoDecoders( + scoped_refptr<base::SingleThreadTaskRunner> task_runner, + ScopedVector<VideoDecoder>* video_decoders); private: DISALLOW_COPY_AND_ASSIGN(DecoderFactory); |