| Index: media/test/pipeline_integration_test_base.h
|
| diff --git a/media/test/pipeline_integration_test_base.h b/media/test/pipeline_integration_test_base.h
|
| index 0aacf2c94baef888afbf88c0bba1ef12cb64f43d..258591b8867f1fc067b1dcd8e25f069144991b4f 100644
|
| --- a/media/test/pipeline_integration_test_base.h
|
| +++ b/media/test/pipeline_integration_test_base.h
|
| @@ -9,6 +9,7 @@
|
| #include <memory>
|
|
|
| #include "base/md5.h"
|
| +#include "base/memory/scoped_vector.h"
|
| #include "base/message_loop/message_loop.h"
|
| #include "media/audio/clockless_audio_sink.h"
|
| #include "media/audio/null_audio_sink.h"
|
| @@ -29,7 +30,9 @@ class FilePath;
|
|
|
| namespace media {
|
|
|
| +class AudioDecoder;
|
| class CdmContext;
|
| +class VideoDecoder;
|
|
|
| // Empty MD5 hash string. Used to verify empty video tracks.
|
| extern const char kNullVideoHash[];
|
| @@ -78,7 +81,12 @@ class PipelineIntegrationTestBase : public Pipeline::Client {
|
| // started. |filename| points at a test file located under media/test/data/.
|
| PipelineStatus Start(const std::string& filename);
|
| PipelineStatus Start(const std::string& filename, CdmContext* cdm_context);
|
| - PipelineStatus Start(const std::string& filename, uint8_t test_type);
|
| + PipelineStatus Start(const std::string& filename,
|
| + uint8_t test_type,
|
| + ScopedVector<VideoDecoder> prepend_video_decoders =
|
| + ScopedVector<VideoDecoder>(),
|
| + ScopedVector<AudioDecoder> prepend_audio_decoders =
|
| + ScopedVector<AudioDecoder>());
|
|
|
| // Starts the pipeline with |data| (with |size| bytes). The |data| will be
|
| // valid throughtout the lifetime of this test.
|
| @@ -144,13 +152,23 @@ class PipelineIntegrationTestBase : public Pipeline::Client {
|
| PipelineMetadata metadata_;
|
| scoped_refptr<VideoFrame> last_frame_;
|
|
|
| - PipelineStatus StartInternal(std::unique_ptr<DataSource> data_source,
|
| - CdmContext* cdm_context,
|
| - uint8_t test_type);
|
| -
|
| - PipelineStatus StartWithFile(const std::string& filename,
|
| - CdmContext* cdm_context,
|
| - uint8_t test_type);
|
| + PipelineStatus StartInternal(
|
| + std::unique_ptr<DataSource> data_source,
|
| + CdmContext* cdm_context,
|
| + uint8_t test_type,
|
| + ScopedVector<VideoDecoder> prepend_video_decoders =
|
| + ScopedVector<VideoDecoder>(),
|
| + ScopedVector<AudioDecoder> prepend_audio_decoders =
|
| + ScopedVector<AudioDecoder>());
|
| +
|
| + PipelineStatus StartWithFile(
|
| + const std::string& filename,
|
| + CdmContext* cdm_context,
|
| + uint8_t test_type,
|
| + ScopedVector<VideoDecoder> prepend_video_decoders =
|
| + ScopedVector<VideoDecoder>(),
|
| + ScopedVector<AudioDecoder> prepend_audio_decoders =
|
| + ScopedVector<AudioDecoder>());
|
|
|
| void OnSeeked(base::TimeDelta seek_time, PipelineStatus status);
|
| void OnStatusCallback(PipelineStatus status);
|
| @@ -165,7 +183,11 @@ class PipelineIntegrationTestBase : public Pipeline::Client {
|
| void CreateDemuxer(std::unique_ptr<DataSource> data_source);
|
|
|
| // Creates and returns a Renderer.
|
| - virtual std::unique_ptr<Renderer> CreateRenderer();
|
| + virtual std::unique_ptr<Renderer> CreateRenderer(
|
| + ScopedVector<VideoDecoder> prepend_video_decoders =
|
| + ScopedVector<VideoDecoder>(),
|
| + ScopedVector<AudioDecoder> prepend_audio_decoders =
|
| + ScopedVector<AudioDecoder>());
|
|
|
| void OnVideoFramePaint(const scoped_refptr<VideoFrame>& frame);
|
|
|
|
|