Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Unified Diff: chromecast/media/cma/backend/audio_video_pipeline_device_unittest.cc

Issue 2710133003: Replace FFmpegDemuxer thread per element with base::TaskScheduler. (Closed)
Patch Set: Give WeakPtr to URLProtocol. Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | media/base/demuxer_perftest.cc » ('j') | media/filters/ffmpeg_demuxer.cc » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chromecast/media/cma/backend/audio_video_pipeline_device_unittest.cc
diff --git a/chromecast/media/cma/backend/audio_video_pipeline_device_unittest.cc b/chromecast/media/cma/backend/audio_video_pipeline_device_unittest.cc
index 7418f1f1b6135054ce5424700d90fa72adebd355..ab4028862dab829b848a3c4050bb4516662106c7 100644
--- a/chromecast/media/cma/backend/audio_video_pipeline_device_unittest.cc
+++ b/chromecast/media/cma/backend/audio_video_pipeline_device_unittest.cc
@@ -21,6 +21,7 @@
#include "base/path_service.h"
#include "base/run_loop.h"
#include "base/single_thread_task_runner.h"
+#include "base/test/scoped_task_scheduler.h"
#include "base/threading/thread.h"
#include "base/threading/thread_checker.h"
#include "base/threading/thread_task_runner_handle.h"
@@ -232,6 +233,7 @@ class AudioVideoPipelineDeviceTest : public testing::Test {
void OnPauseCompleted();
+ base::test::ScopedTaskScheduler task_scheduler_;
MediaPipelineDeviceParams::MediaSyncType sync_type_;
MediaPipelineDeviceParams::AudioStreamType audio_type_;
std::unique_ptr<TaskRunnerImpl> task_runner_;
@@ -903,8 +905,6 @@ void AudioVideoPipelineDeviceTest::EndImmediateEosTest() {
}
TEST_F(AudioVideoPipelineDeviceTest, Mp3Playback) {
- std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
-
set_sync_type(MediaPipelineDeviceParams::kModeSyncPts);
ConfigureForAudioOnly("sfx.mp3");
PauseBeforeEos();
@@ -913,8 +913,6 @@ TEST_F(AudioVideoPipelineDeviceTest, Mp3Playback) {
}
TEST_F(AudioVideoPipelineDeviceTest, AacPlayback) {
- std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
-
set_sync_type(MediaPipelineDeviceParams::kModeSyncPts);
ConfigureForAudioOnly("sfx.m4a");
PauseBeforeEos();
@@ -923,8 +921,6 @@ TEST_F(AudioVideoPipelineDeviceTest, AacPlayback) {
}
TEST_F(AudioVideoPipelineDeviceTest, VorbisPlayback) {
- std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
-
set_sync_type(MediaPipelineDeviceParams::kModeIgnorePts);
ConfigureForAudioOnly("sfx.ogg");
Start();
@@ -934,8 +930,6 @@ TEST_F(AudioVideoPipelineDeviceTest, VorbisPlayback) {
// TODO(kmackay) FFmpegDemuxForTest can't handle AC3 or EAC3.
TEST_F(AudioVideoPipelineDeviceTest, OpusPlayback_Optional) {
- std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
-
set_sync_type(MediaPipelineDeviceParams::kModeSyncPts);
ConfigureForAudioOnly("bear-opus.ogg");
PauseBeforeEos();
@@ -944,8 +938,6 @@ TEST_F(AudioVideoPipelineDeviceTest, OpusPlayback_Optional) {
}
TEST_F(AudioVideoPipelineDeviceTest, FlacPlayback_Optional) {
- std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
-
set_sync_type(MediaPipelineDeviceParams::kModeSyncPts);
ConfigureForAudioOnly("bear.flac");
PauseBeforeEos();
@@ -954,8 +946,6 @@ TEST_F(AudioVideoPipelineDeviceTest, FlacPlayback_Optional) {
}
TEST_F(AudioVideoPipelineDeviceTest, H264Playback) {
- std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
-
set_sync_type(MediaPipelineDeviceParams::kModeSyncPts);
ConfigureForVideoOnly("bear.h264", true /* raw_h264 */);
PauseBeforeEos();
@@ -964,8 +954,6 @@ TEST_F(AudioVideoPipelineDeviceTest, H264Playback) {
}
TEST_F(AudioVideoPipelineDeviceTest, WebmPlaybackWithPause) {
- std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
-
set_sync_type(MediaPipelineDeviceParams::kModeSyncPts);
// Setup to pause for 100ms every 500ms
AddPause(base::TimeDelta::FromMilliseconds(500),
@@ -977,8 +965,6 @@ TEST_F(AudioVideoPipelineDeviceTest, WebmPlaybackWithPause) {
}
TEST_F(AudioVideoPipelineDeviceTest, Vp8Playback) {
- std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
-
set_sync_type(MediaPipelineDeviceParams::kModeSyncPts);
ConfigureForVideoOnly("bear-vp8a.webm", false /* raw_h264 */);
Start();
@@ -986,8 +972,6 @@ TEST_F(AudioVideoPipelineDeviceTest, Vp8Playback) {
}
TEST_F(AudioVideoPipelineDeviceTest, WebmPlayback) {
- std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
-
set_sync_type(MediaPipelineDeviceParams::kModeSyncPts);
ConfigureForFile("bear-640x360.webm");
PauseBeforeEos();
@@ -998,7 +982,6 @@ TEST_F(AudioVideoPipelineDeviceTest, WebmPlayback) {
// TODO(kmackay) FFmpegDemuxForTest can't handle HEVC or VP9.
TEST_F(AudioVideoPipelineDeviceTest, AudioBackendStates) {
- std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
Initialize();
MediaPipelineBackend::AudioDecoder* audio_decoder =
backend()->CreateAudioDecoder();
@@ -1015,7 +998,6 @@ TEST_F(AudioVideoPipelineDeviceTest, AudioBackendStates) {
}
TEST_F(AudioVideoPipelineDeviceTest, AudioEffectsBackendStates) {
- std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
set_audio_type(MediaPipelineDeviceParams::kAudioStreamSoundEffects);
set_sync_type(MediaPipelineDeviceParams::kModeIgnorePts);
Initialize();
@@ -1033,7 +1015,6 @@ TEST_F(AudioVideoPipelineDeviceTest, AudioEffectsBackendStates) {
}
TEST_F(AudioVideoPipelineDeviceTest, VideoBackendStates) {
- std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
Initialize();
MediaPipelineBackend::VideoDecoder* video_decoder =
backend()->CreateVideoDecoder();
@@ -1050,7 +1031,6 @@ TEST_F(AudioVideoPipelineDeviceTest, VideoBackendStates) {
}
TEST_F(AudioVideoPipelineDeviceTest, AudioImmediateEos) {
- std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
Initialize();
MediaPipelineBackend::AudioDecoder* audio_decoder =
backend()->CreateAudioDecoder();
@@ -1063,10 +1043,10 @@ TEST_F(AudioVideoPipelineDeviceTest, AudioImmediateEos) {
SetAudioFeeder(std::move(feeder));
StartImmediateEosTest();
+ base::RunLoop().RunUntilIdle();
}
TEST_F(AudioVideoPipelineDeviceTest, VideoImmediateEos) {
- std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
Initialize();
MediaPipelineBackend::VideoDecoder* video_decoder =
backend()->CreateVideoDecoder();
@@ -1079,11 +1059,10 @@ TEST_F(AudioVideoPipelineDeviceTest, VideoImmediateEos) {
SetVideoFeeder(std::move(feeder));
StartImmediateEosTest();
+ base::RunLoop().RunUntilIdle();
}
TEST_F(AudioVideoPipelineDeviceTest, Mp3Playback_WithEffectsStreams) {
- std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
-
set_sync_type(MediaPipelineDeviceParams::kModeSyncPts);
ConfigureForAudioOnly("sfx.mp3");
PauseBeforeEos();
@@ -1093,8 +1072,6 @@ TEST_F(AudioVideoPipelineDeviceTest, Mp3Playback_WithEffectsStreams) {
}
TEST_F(AudioVideoPipelineDeviceTest, AacPlayback_WithEffectsStreams) {
- std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
-
set_sync_type(MediaPipelineDeviceParams::kModeSyncPts);
ConfigureForAudioOnly("sfx.m4a");
PauseBeforeEos();
@@ -1104,8 +1081,6 @@ TEST_F(AudioVideoPipelineDeviceTest, AacPlayback_WithEffectsStreams) {
}
TEST_F(AudioVideoPipelineDeviceTest, VorbisPlayback_WithEffectsStreams) {
- std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
-
set_sync_type(MediaPipelineDeviceParams::kModeIgnorePts);
ConfigureForAudioOnly("sfx.ogg");
AddEffectsStreams();
@@ -1116,8 +1091,6 @@ TEST_F(AudioVideoPipelineDeviceTest, VorbisPlayback_WithEffectsStreams) {
// TODO(kmackay) FFmpegDemuxForTest can't handle AC3 or EAC3.
TEST_F(AudioVideoPipelineDeviceTest, OpusPlayback_WithEffectsStreams_Optional) {
- std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
-
set_sync_type(MediaPipelineDeviceParams::kModeSyncPts);
ConfigureForAudioOnly("bear-opus.ogg");
PauseBeforeEos();
@@ -1127,8 +1100,6 @@ TEST_F(AudioVideoPipelineDeviceTest, OpusPlayback_WithEffectsStreams_Optional) {
}
TEST_F(AudioVideoPipelineDeviceTest, FlacPlayback_WithEffectsStreams_Optional) {
- std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
-
set_sync_type(MediaPipelineDeviceParams::kModeSyncPts);
ConfigureForAudioOnly("bear.flac");
PauseBeforeEos();
@@ -1138,8 +1109,6 @@ TEST_F(AudioVideoPipelineDeviceTest, FlacPlayback_WithEffectsStreams_Optional) {
}
TEST_F(AudioVideoPipelineDeviceTest, H264Playback_WithEffectsStreams) {
- std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
-
set_sync_type(MediaPipelineDeviceParams::kModeSyncPts);
ConfigureForVideoOnly("bear.h264", true /* raw_h264 */);
PauseBeforeEos();
@@ -1149,8 +1118,6 @@ TEST_F(AudioVideoPipelineDeviceTest, H264Playback_WithEffectsStreams) {
}
TEST_F(AudioVideoPipelineDeviceTest, WebmPlaybackWithPause_WithEffectsStreams) {
- std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
-
set_sync_type(MediaPipelineDeviceParams::kModeSyncPts);
// Setup to pause for 100ms every 500ms
AddPause(base::TimeDelta::FromMilliseconds(500),
@@ -1163,8 +1130,6 @@ TEST_F(AudioVideoPipelineDeviceTest, WebmPlaybackWithPause_WithEffectsStreams) {
}
TEST_F(AudioVideoPipelineDeviceTest, Vp8Playback_WithEffectsStreams) {
- std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
-
set_sync_type(MediaPipelineDeviceParams::kModeSyncPts);
ConfigureForVideoOnly("bear-vp8a.webm", false /* raw_h264 */);
AddEffectsStreams();
@@ -1173,8 +1138,6 @@ TEST_F(AudioVideoPipelineDeviceTest, Vp8Playback_WithEffectsStreams) {
}
TEST_F(AudioVideoPipelineDeviceTest, WebmPlayback_WithEffectsStreams) {
- std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
-
set_sync_type(MediaPipelineDeviceParams::kModeSyncPts);
ConfigureForFile("bear-640x360.webm");
PauseBeforeEos();
« no previous file with comments | « no previous file | media/base/demuxer_perftest.cc » ('j') | media/filters/ffmpeg_demuxer.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698