summaryrefslogtreecommitdiffstats
path: root/media/base
diff options
context:
space:
mode:
authortimav <timav@chromium.org>2016-03-17 18:14:37 -0700
committerCommit bot <commit-bot@chromium.org>2016-03-18 01:15:41 +0000
commitfe54753dafe23379ba6ec9d20d08d1a32b9ecc13 (patch)
treef0a136b7e60f5b09721bb617c43d322cb59aec66 /media/base
parent23b8e20ccb791a82b3cf1e5432a4b51b3b0ab375 (diff)
downloadchromium_src-fe54753dafe23379ba6ec9d20d08d1a32b9ecc13.zip
chromium_src-fe54753dafe23379ba6ec9d20d08d1a32b9ecc13.tar.gz
chromium_src-fe54753dafe23379ba6ec9d20d08d1a32b9ecc13.tar.bz2
Connect MojoAudioDecoder to the service
MojoAudioDecoder is the client side part of the decoder that runs in the renderer process. This CL connects it to the remote service and propagates the media task runner to it. BUG=542910 Review URL: https://codereview.chromium.org/1797393007 Cr-Commit-Position: refs/heads/master@{#381861}
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);