| 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 a39eb3ffe447318ba17792f5ec5b53639cd1b4a5..87f3c277770d899453fa42e6f588b42f1e2eea91 100644
|
| --- a/media/test/pipeline_integration_test_base.h
|
| +++ b/media/test/pipeline_integration_test_base.h
|
| @@ -25,7 +25,8 @@
|
|
|
| namespace media {
|
|
|
| -class CdmContext;
|
| +class FakeEncryptedMedia;
|
| +class MockMediaSource;
|
|
|
| // Empty MD5 hash string. Used to verify empty video tracks.
|
| extern const char kNullVideoHash[];
|
| @@ -45,6 +46,15 @@ class DummyTickClock : public base::TickClock {
|
| base::TimeTicks now_;
|
| };
|
|
|
| +class PipelineTestRendererFactory {
|
| + public:
|
| + virtual ~PipelineTestRendererFactory() {}
|
| + // Creates and returns a Renderer.
|
| + virtual std::unique_ptr<Renderer> CreateRenderer(
|
| + CreateVideoDecodersCB prepend_video_decoders_cb,
|
| + CreateAudioDecodersCB prepend_audio_decoders_cb) = 0;
|
| +};
|
| +
|
| // Integration tests for Pipeline. Real demuxers, real decoders, and
|
| // base renderer implementations are used to verify pipeline functionality. The
|
| // renderers used in these tests rely heavily on the AudioRendererBase &
|
| @@ -126,6 +136,10 @@ class PipelineIntegrationTestBase : public Pipeline::Client {
|
| encrypted_media_init_data_cb_ = encrypted_media_init_data_cb;
|
| }
|
|
|
| + std::unique_ptr<Renderer> CreateRenderer(
|
| + CreateVideoDecodersCB prepend_video_decoders_cb,
|
| + CreateAudioDecodersCB prepend_audio_decoders_cb);
|
| +
|
| protected:
|
| MediaLog media_log_;
|
| base::MessageLoop message_loop_;
|
| @@ -150,6 +164,7 @@ class PipelineIntegrationTestBase : public Pipeline::Client {
|
| PipelineMetadata metadata_;
|
| scoped_refptr<VideoFrame> last_frame_;
|
| base::TimeDelta current_duration_;
|
| + std::unique_ptr<PipelineTestRendererFactory> renderer_factory_;
|
|
|
| PipelineStatus StartInternal(
|
| std::unique_ptr<DataSource> data_source,
|
| @@ -167,6 +182,15 @@ class PipelineIntegrationTestBase : public Pipeline::Client {
|
| CreateAudioDecodersCB prepend_audio_decoders_cb =
|
| CreateAudioDecodersCB());
|
|
|
| + PipelineStatus StartPipelineWithMediaSource(MockMediaSource* source);
|
| + PipelineStatus StartPipelineWithEncryptedMedia(
|
| + MockMediaSource* source,
|
| + FakeEncryptedMedia* encrypted_media);
|
| + PipelineStatus StartPipelineWithMediaSource(
|
| + MockMediaSource* source,
|
| + uint8_t test_type,
|
| + FakeEncryptedMedia* encrypted_media);
|
| +
|
| void OnSeeked(base::TimeDelta seek_time, PipelineStatus status);
|
| void OnStatusCallback(PipelineStatus status);
|
| void DemuxerEncryptedMediaInitDataCB(EmeInitDataType type,
|
| @@ -179,12 +203,6 @@ class PipelineIntegrationTestBase : public Pipeline::Client {
|
| // Creates Demuxer and sets |demuxer_|.
|
| void CreateDemuxer(std::unique_ptr<DataSource> data_source);
|
|
|
| - // Creates and returns a Renderer.
|
| - virtual std::unique_ptr<Renderer> CreateRenderer(
|
| - CreateVideoDecodersCB prepend_video_decoders_cb = CreateVideoDecodersCB(),
|
| - CreateAudioDecodersCB prepend_audio_decoders_cb =
|
| - CreateAudioDecodersCB());
|
| -
|
| void OnVideoFramePaint(const scoped_refptr<VideoFrame>& frame);
|
|
|
| void CheckDuration();
|
| @@ -206,6 +224,9 @@ class PipelineIntegrationTestBase : public Pipeline::Client {
|
| MOCK_METHOD1(OnVideoNaturalSizeChange, void(const gfx::Size&));
|
| MOCK_METHOD1(OnVideoOpacityChange, void(bool));
|
| MOCK_METHOD0(OnVideoAverageKeyframeDistanceUpdate, void());
|
| +
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(PipelineIntegrationTestBase);
|
| };
|
|
|
| } // namespace media
|
|
|