summaryrefslogtreecommitdiffstats
path: root/media/base
diff options
context:
space:
mode:
Diffstat (limited to 'media/base')
-rw-r--r--media/base/decoder_factory.cc4
-rw-r--r--media/base/decoder_factory.h15
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);