Index: media/test/pipeline_integration_test_base.cc |
diff --git a/media/test/pipeline_integration_test_base.cc b/media/test/pipeline_integration_test_base.cc |
index dc5f0858e780ef27062484f58b7718581e99676c..b2fd6f608808f6a898df374bf93c36ccbcb7152d 100644 |
--- a/media/test/pipeline_integration_test_base.cc |
+++ b/media/test/pipeline_integration_test_base.cc |
@@ -41,13 +41,52 @@ using ::testing::SaveArg; |
namespace media { |
+static ScopedVector<VideoDecoder> CreateVideoDecodersForTest( |
+ MediaLog* media_log, |
+ CreateVideoDecodersCB prepend_video_decoders_cb) { |
+ ScopedVector<VideoDecoder> video_decoders; |
+ |
+ if (!prepend_video_decoders_cb.is_null()) { |
+ video_decoders = prepend_video_decoders_cb.Run(); |
+ DCHECK(!video_decoders.empty()); |
+ } |
+ |
+#if !defined(MEDIA_DISABLE_LIBVPX) |
+ video_decoders.push_back(new VpxVideoDecoder()); |
+#endif // !defined(MEDIA_DISABLE_LIBVPX) |
+ |
+// Android does not have an ffmpeg video decoder. |
+#if !defined(MEDIA_DISABLE_FFMPEG) && !defined(OS_ANDROID) |
+ video_decoders.push_back(new FFmpegVideoDecoder(media_log)); |
+#endif |
+ return video_decoders; |
+} |
+ |
+static ScopedVector<AudioDecoder> CreateAudioDecodersForTest( |
+ MediaLog* media_log, |
+ const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner, |
+ CreateAudioDecodersCB prepend_audio_decoders_cb) { |
+ ScopedVector<AudioDecoder> audio_decoders; |
+ |
+ if (!prepend_audio_decoders_cb.is_null()) { |
+ audio_decoders = prepend_audio_decoders_cb.Run(); |
+ DCHECK(!audio_decoders.empty()); |
+ } |
+ |
+#if !defined(MEDIA_DISABLE_FFMPEG) |
+ audio_decoders.push_back( |
+ new FFmpegAudioDecoder(media_task_runner, media_log)); |
+#endif |
+ return audio_decoders; |
+} |
+ |
const char kNullVideoHash[] = "d41d8cd98f00b204e9800998ecf8427e"; |
const char kNullAudioHash[] = "0.00,0.00,0.00,0.00,0.00,0.00,"; |
PipelineIntegrationTestBase::PipelineIntegrationTestBase() |
: hashing_enabled_(false), |
clockless_playback_(false), |
- pipeline_(new PipelineImpl(message_loop_.task_runner(), new MediaLog())), |
+ pipeline_(new PipelineImpl(message_loop_.task_runner(), &media_log_)), |
ended_(false), |
pipeline_status_(PIPELINE_OK), |
last_video_frame_format_(PIXEL_FORMAT_UNKNOWN), |
@@ -319,48 +358,10 @@ void PipelineIntegrationTestBase::CreateDemuxer( |
base::Unretained(this)), |
base::Bind(&PipelineIntegrationTestBase::DemuxerMediaTracksUpdatedCB, |
base::Unretained(this)), |
- new MediaLog())); |
+ &media_log_)); |
#endif |
} |
-ScopedVector<VideoDecoder> CreateVideoDecodersForTest( |
- CreateVideoDecodersCB prepend_video_decoders_cb) { |
- ScopedVector<VideoDecoder> video_decoders; |
- |
- if (!prepend_video_decoders_cb.is_null()) { |
- video_decoders = prepend_video_decoders_cb.Run(); |
- DCHECK(!video_decoders.empty()); |
- } |
- |
-#if !defined(MEDIA_DISABLE_LIBVPX) |
- video_decoders.push_back(new VpxVideoDecoder()); |
-#endif // !defined(MEDIA_DISABLE_LIBVPX) |
- |
-// Android does not have an ffmpeg video decoder. |
-#if !defined(MEDIA_DISABLE_FFMPEG) && !defined(OS_ANDROID) |
- video_decoders.push_back( |
- new FFmpegVideoDecoder(make_scoped_refptr(new MediaLog()))); |
-#endif |
- return video_decoders; |
-} |
- |
-ScopedVector<AudioDecoder> CreateAudioDecodersForTest( |
- const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner, |
- CreateAudioDecodersCB prepend_audio_decoders_cb) { |
- ScopedVector<AudioDecoder> audio_decoders; |
- |
- if (!prepend_audio_decoders_cb.is_null()) { |
- audio_decoders = prepend_audio_decoders_cb.Run(); |
- DCHECK(!audio_decoders.empty()); |
- } |
- |
-#if !defined(MEDIA_DISABLE_FFMPEG) |
- audio_decoders.push_back( |
- new FFmpegAudioDecoder(media_task_runner, new MediaLog())); |
-#endif |
- return audio_decoders; |
-} |
- |
std::unique_ptr<Renderer> PipelineIntegrationTestBase::CreateRenderer( |
CreateVideoDecodersCB prepend_video_decoders_cb, |
CreateAudioDecodersCB prepend_audio_decoders_cb) { |
@@ -375,8 +376,9 @@ std::unique_ptr<Renderer> PipelineIntegrationTestBase::CreateRenderer( |
std::unique_ptr<VideoRenderer> video_renderer(new VideoRendererImpl( |
message_loop_.task_runner(), message_loop_.task_runner().get(), |
video_sink_.get(), |
- base::Bind(&CreateVideoDecodersForTest, prepend_video_decoders_cb), false, |
- nullptr, new MediaLog())); |
+ base::Bind(&CreateVideoDecodersForTest, &media_log_, |
+ prepend_video_decoders_cb), |
+ false, nullptr, &media_log_)); |
if (!clockless_playback_) { |
audio_sink_ = new NullAudioSink(message_loop_.task_runner()); |
@@ -396,9 +398,9 @@ std::unique_ptr<Renderer> PipelineIntegrationTestBase::CreateRenderer( |
(clockless_playback_) |
? static_cast<AudioRendererSink*>(clockless_audio_sink_.get()) |
: audio_sink_.get(), |
- base::Bind(&CreateAudioDecodersForTest, message_loop_.task_runner(), |
- prepend_audio_decoders_cb), |
- new MediaLog())); |
+ base::Bind(&CreateAudioDecodersForTest, &media_log_, |
+ message_loop_.task_runner(), prepend_audio_decoders_cb), |
+ &media_log_)); |
if (hashing_enabled_) { |
if (clockless_playback_) |
clockless_audio_sink_->StartAudioHashForTesting(); |