| 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 f80cc6181ea51d13e0aa94813a68828bb953f0c8..bea332f3f5d91827857f2f1d4ac8ccabc4bdfa3e 100644
|
| --- a/chromecast/media/cma/backend/audio_video_pipeline_device_unittest.cc
|
| +++ b/chromecast/media/cma/backend/audio_video_pipeline_device_unittest.cc
|
| @@ -5,6 +5,7 @@
|
| #include <stdint.h>
|
|
|
| #include <limits>
|
| +#include <memory>
|
| #include <vector>
|
|
|
| #include "base/bind.h"
|
| @@ -13,8 +14,8 @@
|
| #include "base/files/memory_mapped_file.h"
|
| #include "base/logging.h"
|
| #include "base/macros.h"
|
| +#include "base/memory/ptr_util.h"
|
| #include "base/memory/ref_counted.h"
|
| -#include "base/memory/scoped_ptr.h"
|
| #include "base/memory/scoped_vector.h"
|
| #include "base/message_loop/message_loop.h"
|
| #include "base/path_service.h"
|
| @@ -90,13 +91,13 @@ class BufferFeeder : public MediaPipelineBackend::Decoder::Delegate {
|
| explicit BufferFeeder(const base::Closure& eos_cb);
|
| ~BufferFeeder() override {}
|
|
|
| - static scoped_ptr<BufferFeeder> LoadAudio(MediaPipelineBackend* backend,
|
| - const std::string& filename,
|
| - const base::Closure& eos_cb);
|
| - static scoped_ptr<BufferFeeder> LoadVideo(MediaPipelineBackend* backend,
|
| - const std::string& filename,
|
| - bool raw_h264,
|
| - const base::Closure& eos_cb);
|
| + static std::unique_ptr<BufferFeeder> LoadAudio(MediaPipelineBackend* backend,
|
| + const std::string& filename,
|
| + const base::Closure& eos_cb);
|
| + static std::unique_ptr<BufferFeeder> LoadVideo(MediaPipelineBackend* backend,
|
| + const std::string& filename,
|
| + bool raw_h264,
|
| + const base::Closure& eos_cb);
|
|
|
| bool eos() const { return eos_; }
|
| MediaPipelineBackend::Decoder* decoder() const { return decoder_; }
|
| @@ -150,7 +151,7 @@ class BufferFeeder : public MediaPipelineBackend::Decoder::Delegate {
|
| AudioConfig audio_config_;
|
| VideoConfig video_config_;
|
| int64_t last_pushed_pts_;
|
| - scoped_ptr<::media::AudioTimestampHelper> timestamp_helper_;
|
| + std::unique_ptr<::media::AudioTimestampHelper> timestamp_helper_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(BufferFeeder);
|
| };
|
| @@ -208,10 +209,10 @@ class AudioVideoPipelineDeviceTest : public testing::Test {
|
| void Start();
|
| void OnEndOfStream();
|
|
|
| - void SetAudioFeeder(scoped_ptr<BufferFeeder> audio_feeder) {
|
| + void SetAudioFeeder(std::unique_ptr<BufferFeeder> audio_feeder) {
|
| audio_feeder_ = std::move(audio_feeder);
|
| }
|
| - void SetVideoFeeder(scoped_ptr<BufferFeeder> video_feeder) {
|
| + void SetVideoFeeder(std::unique_ptr<BufferFeeder> video_feeder) {
|
| video_feeder_ = std::move(video_feeder);
|
| }
|
|
|
| @@ -228,12 +229,12 @@ class AudioVideoPipelineDeviceTest : public testing::Test {
|
|
|
| MediaPipelineDeviceParams::MediaSyncType sync_type_;
|
| MediaPipelineDeviceParams::AudioStreamType audio_type_;
|
| - scoped_ptr<TaskRunnerImpl> task_runner_;
|
| - scoped_ptr<MediaPipelineBackend> backend_;
|
| - std::vector<scoped_ptr<MediaPipelineBackend>> effects_backends_;
|
| - std::vector<scoped_ptr<BufferFeeder>> effects_feeders_;
|
| - scoped_ptr<BufferFeeder> audio_feeder_;
|
| - scoped_ptr<BufferFeeder> video_feeder_;
|
| + std::unique_ptr<TaskRunnerImpl> task_runner_;
|
| + std::unique_ptr<MediaPipelineBackend> backend_;
|
| + std::vector<std::unique_ptr<MediaPipelineBackend>> effects_backends_;
|
| + std::vector<std::unique_ptr<BufferFeeder>> effects_feeders_;
|
| + std::unique_ptr<BufferFeeder> audio_feeder_;
|
| + std::unique_ptr<BufferFeeder> video_feeder_;
|
| bool stopped_;
|
| bool ran_playing_playback_checks_;
|
| bool backwards_pts_change_;
|
| @@ -526,9 +527,10 @@ void BufferFeeder::TestVideoConfigs() {
|
| }
|
|
|
| // static
|
| -scoped_ptr<BufferFeeder> BufferFeeder::LoadAudio(MediaPipelineBackend* backend,
|
| - const std::string& filename,
|
| - const base::Closure& eos_cb) {
|
| +std::unique_ptr<BufferFeeder> BufferFeeder::LoadAudio(
|
| + MediaPipelineBackend* backend,
|
| + const std::string& filename,
|
| + const base::Closure& eos_cb) {
|
| CHECK(backend);
|
| base::FilePath file_path = GetTestDataFilePath(filename);
|
| DemuxResult demux_result = FFmpegDemuxForTest(file_path, true /* audio */);
|
| @@ -541,17 +543,18 @@ scoped_ptr<BufferFeeder> BufferFeeder::LoadAudio(MediaPipelineBackend* backend,
|
| CHECK(success);
|
|
|
| VLOG(2) << "Got " << demux_result.frames.size() << " audio input frames";
|
| - scoped_ptr<BufferFeeder> feeder(new BufferFeeder(eos_cb));
|
| + std::unique_ptr<BufferFeeder> feeder(new BufferFeeder(eos_cb));
|
| feeder->audio_config_ = config;
|
| feeder->Initialize(backend, decoder, demux_result.frames);
|
| return feeder;
|
| }
|
|
|
| // static
|
| -scoped_ptr<BufferFeeder> BufferFeeder::LoadVideo(MediaPipelineBackend* backend,
|
| - const std::string& filename,
|
| - bool raw_h264,
|
| - const base::Closure& eos_cb) {
|
| +std::unique_ptr<BufferFeeder> BufferFeeder::LoadVideo(
|
| + MediaPipelineBackend* backend,
|
| + const std::string& filename,
|
| + bool raw_h264,
|
| + const base::Closure& eos_cb) {
|
| CHECK(backend);
|
|
|
| VideoConfig video_config;
|
| @@ -583,7 +586,7 @@ scoped_ptr<BufferFeeder> BufferFeeder::LoadVideo(MediaPipelineBackend* backend,
|
| CHECK(success);
|
|
|
| VLOG(2) << "Got " << buffers.size() << " video input frames";
|
| - scoped_ptr<BufferFeeder> feeder(new BufferFeeder(eos_cb));
|
| + std::unique_ptr<BufferFeeder> feeder(new BufferFeeder(eos_cb));
|
| feeder->video_config_ = video_config;
|
| feeder->Initialize(backend, decoder, buffers);
|
| return feeder;
|
| @@ -632,13 +635,14 @@ void AudioVideoPipelineDeviceTest::AddEffectsStreams() {
|
| MediaPipelineBackend* effects_backend =
|
| CastMediaShlib::CreateMediaPipelineBackend(params);
|
| CHECK(effects_backend);
|
| - effects_backends_.push_back(make_scoped_ptr(effects_backend));
|
| + effects_backends_.push_back(base::WrapUnique(effects_backend));
|
|
|
| MediaPipelineBackend::AudioDecoder* audio_decoder =
|
| effects_backend->CreateAudioDecoder();
|
| audio_decoder->SetConfig(DefaultAudioConfig());
|
|
|
| - scoped_ptr<BufferFeeder> feeder(new BufferFeeder(base::Bind(&IgnoreEos)));
|
| + std::unique_ptr<BufferFeeder> feeder(
|
| + new BufferFeeder(base::Bind(&IgnoreEos)));
|
| feeder->FeedContinuousPcm();
|
| feeder->Initialize(effects_backend, audio_decoder, BufferList());
|
| feeder->SetAudioConfig(DefaultAudioConfig());
|
| @@ -894,7 +898,7 @@ void AudioVideoPipelineDeviceTest::EndImmediateEosTest() {
|
| }
|
|
|
| TEST_F(AudioVideoPipelineDeviceTest, Mp3Playback) {
|
| - scoped_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
| + std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
|
|
| set_sync_type(MediaPipelineDeviceParams::kModeSyncPts);
|
| ConfigureForAudioOnly("sfx.mp3");
|
| @@ -904,7 +908,7 @@ TEST_F(AudioVideoPipelineDeviceTest, Mp3Playback) {
|
| }
|
|
|
| TEST_F(AudioVideoPipelineDeviceTest, AacPlayback) {
|
| - scoped_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
| + std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
|
|
| set_sync_type(MediaPipelineDeviceParams::kModeSyncPts);
|
| ConfigureForAudioOnly("sfx.m4a");
|
| @@ -914,7 +918,7 @@ TEST_F(AudioVideoPipelineDeviceTest, AacPlayback) {
|
| }
|
|
|
| TEST_F(AudioVideoPipelineDeviceTest, VorbisPlayback) {
|
| - scoped_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
| + std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
|
|
| set_sync_type(MediaPipelineDeviceParams::kModeIgnorePts);
|
| ConfigureForAudioOnly("sfx.ogg");
|
| @@ -925,7 +929,7 @@ TEST_F(AudioVideoPipelineDeviceTest, VorbisPlayback) {
|
| // TODO(kmackay) FFmpegDemuxForTest can't handle AC3 or EAC3.
|
|
|
| TEST_F(AudioVideoPipelineDeviceTest, OpusPlayback_Optional) {
|
| - scoped_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
| + std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
|
|
| set_sync_type(MediaPipelineDeviceParams::kModeSyncPts);
|
| ConfigureForAudioOnly("bear-opus.ogg");
|
| @@ -935,7 +939,7 @@ TEST_F(AudioVideoPipelineDeviceTest, OpusPlayback_Optional) {
|
| }
|
|
|
| TEST_F(AudioVideoPipelineDeviceTest, FlacPlayback_Optional) {
|
| - scoped_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
| + std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
|
|
| set_sync_type(MediaPipelineDeviceParams::kModeSyncPts);
|
| ConfigureForAudioOnly("bear.flac");
|
| @@ -945,7 +949,7 @@ TEST_F(AudioVideoPipelineDeviceTest, FlacPlayback_Optional) {
|
| }
|
|
|
| TEST_F(AudioVideoPipelineDeviceTest, H264Playback) {
|
| - scoped_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
| + std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
|
|
| set_sync_type(MediaPipelineDeviceParams::kModeIgnorePtsAndVSync);
|
| ConfigureForVideoOnly("bear.h264", true /* raw_h264 */);
|
| @@ -955,7 +959,7 @@ TEST_F(AudioVideoPipelineDeviceTest, H264Playback) {
|
| }
|
|
|
| TEST_F(AudioVideoPipelineDeviceTest, WebmPlaybackWithPause) {
|
| - scoped_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
| + std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
|
|
| set_sync_type(MediaPipelineDeviceParams::kModeSyncPts);
|
| // Setup to pause for 100ms every 500ms
|
| @@ -968,7 +972,7 @@ TEST_F(AudioVideoPipelineDeviceTest, WebmPlaybackWithPause) {
|
| }
|
|
|
| TEST_F(AudioVideoPipelineDeviceTest, Vp8Playback) {
|
| - scoped_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
| + std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
|
|
| set_sync_type(MediaPipelineDeviceParams::kModeSyncPts);
|
| ConfigureForVideoOnly("bear-vp8a.webm", false /* raw_h264 */);
|
| @@ -977,7 +981,7 @@ TEST_F(AudioVideoPipelineDeviceTest, Vp8Playback) {
|
| }
|
|
|
| TEST_F(AudioVideoPipelineDeviceTest, WebmPlayback) {
|
| - scoped_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
| + std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
|
|
| set_sync_type(MediaPipelineDeviceParams::kModeIgnorePtsAndVSync);
|
| ConfigureForFile("bear-640x360.webm");
|
| @@ -989,13 +993,14 @@ TEST_F(AudioVideoPipelineDeviceTest, WebmPlayback) {
|
| // TODO(kmackay) FFmpegDemuxForTest can't handle HEVC or VP9.
|
|
|
| TEST_F(AudioVideoPipelineDeviceTest, AudioBackendStates) {
|
| - scoped_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
| + std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
| Initialize();
|
| MediaPipelineBackend::AudioDecoder* audio_decoder =
|
| backend()->CreateAudioDecoder();
|
|
|
| // Test setting config before Initialize().
|
| - scoped_ptr<BufferFeeder> feeder(new BufferFeeder(base::Bind(&IgnoreEos)));
|
| + std::unique_ptr<BufferFeeder> feeder(
|
| + new BufferFeeder(base::Bind(&IgnoreEos)));
|
| feeder->Initialize(backend(), audio_decoder, BufferList());
|
| feeder->SetAudioConfig(DefaultAudioConfig());
|
| feeder->TestAudioConfigs();
|
| @@ -1005,14 +1010,15 @@ TEST_F(AudioVideoPipelineDeviceTest, AudioBackendStates) {
|
| }
|
|
|
| TEST_F(AudioVideoPipelineDeviceTest, AudioEffectsBackendStates) {
|
| - scoped_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
| + std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
| set_audio_type(MediaPipelineDeviceParams::kAudioStreamSoundEffects);
|
| set_sync_type(MediaPipelineDeviceParams::kModeIgnorePts);
|
| Initialize();
|
| MediaPipelineBackend::AudioDecoder* audio_decoder =
|
| backend()->CreateAudioDecoder();
|
|
|
| - scoped_ptr<BufferFeeder> feeder(new BufferFeeder(base::Bind(&IgnoreEos)));
|
| + std::unique_ptr<BufferFeeder> feeder(
|
| + new BufferFeeder(base::Bind(&IgnoreEos)));
|
| feeder->Initialize(backend(), audio_decoder, BufferList());
|
| feeder->SetAudioConfig(DefaultAudioConfig());
|
| ASSERT_TRUE(audio_decoder->SetConfig(DefaultAudioConfig()));
|
| @@ -1022,13 +1028,14 @@ TEST_F(AudioVideoPipelineDeviceTest, AudioEffectsBackendStates) {
|
| }
|
|
|
| TEST_F(AudioVideoPipelineDeviceTest, VideoBackendStates) {
|
| - scoped_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
| + std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
| Initialize();
|
| MediaPipelineBackend::VideoDecoder* video_decoder =
|
| backend()->CreateVideoDecoder();
|
|
|
| // Test setting config before Initialize().
|
| - scoped_ptr<BufferFeeder> feeder(new BufferFeeder(base::Bind(&IgnoreEos)));
|
| + std::unique_ptr<BufferFeeder> feeder(
|
| + new BufferFeeder(base::Bind(&IgnoreEos)));
|
| feeder->Initialize(backend(), video_decoder, BufferList());
|
| feeder->SetVideoConfig(DefaultVideoConfig());
|
| feeder->TestVideoConfigs();
|
| @@ -1038,12 +1045,12 @@ TEST_F(AudioVideoPipelineDeviceTest, VideoBackendStates) {
|
| }
|
|
|
| TEST_F(AudioVideoPipelineDeviceTest, AudioImmediateEos) {
|
| - scoped_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
| + std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
| Initialize();
|
| MediaPipelineBackend::AudioDecoder* audio_decoder =
|
| backend()->CreateAudioDecoder();
|
|
|
| - scoped_ptr<BufferFeeder> feeder(new BufferFeeder(
|
| + std::unique_ptr<BufferFeeder> feeder(new BufferFeeder(
|
| base::Bind(&AudioVideoPipelineDeviceTest::EndImmediateEosTest,
|
| base::Unretained(this))));
|
| feeder->Initialize(backend(), audio_decoder, BufferList());
|
| @@ -1054,12 +1061,12 @@ TEST_F(AudioVideoPipelineDeviceTest, AudioImmediateEos) {
|
| }
|
|
|
| TEST_F(AudioVideoPipelineDeviceTest, VideoImmediateEos) {
|
| - scoped_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
| + std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
| Initialize();
|
| MediaPipelineBackend::VideoDecoder* video_decoder =
|
| backend()->CreateVideoDecoder();
|
|
|
| - scoped_ptr<BufferFeeder> feeder(new BufferFeeder(
|
| + std::unique_ptr<BufferFeeder> feeder(new BufferFeeder(
|
| base::Bind(&AudioVideoPipelineDeviceTest::EndImmediateEosTest,
|
| base::Unretained(this))));
|
| feeder->Initialize(backend(), video_decoder, BufferList());
|
| @@ -1070,7 +1077,7 @@ TEST_F(AudioVideoPipelineDeviceTest, VideoImmediateEos) {
|
| }
|
|
|
| TEST_F(AudioVideoPipelineDeviceTest, Mp3Playback_WithEffectsStreams) {
|
| - scoped_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
| + std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
|
|
| set_sync_type(MediaPipelineDeviceParams::kModeSyncPts);
|
| ConfigureForAudioOnly("sfx.mp3");
|
| @@ -1081,7 +1088,7 @@ TEST_F(AudioVideoPipelineDeviceTest, Mp3Playback_WithEffectsStreams) {
|
| }
|
|
|
| TEST_F(AudioVideoPipelineDeviceTest, AacPlayback_WithEffectsStreams) {
|
| - scoped_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
| + std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
|
|
| set_sync_type(MediaPipelineDeviceParams::kModeSyncPts);
|
| ConfigureForAudioOnly("sfx.m4a");
|
| @@ -1092,7 +1099,7 @@ TEST_F(AudioVideoPipelineDeviceTest, AacPlayback_WithEffectsStreams) {
|
| }
|
|
|
| TEST_F(AudioVideoPipelineDeviceTest, VorbisPlayback_WithEffectsStreams) {
|
| - scoped_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
| + std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
|
|
| set_sync_type(MediaPipelineDeviceParams::kModeIgnorePts);
|
| ConfigureForAudioOnly("sfx.ogg");
|
| @@ -1104,7 +1111,7 @@ TEST_F(AudioVideoPipelineDeviceTest, VorbisPlayback_WithEffectsStreams) {
|
| // TODO(kmackay) FFmpegDemuxForTest can't handle AC3 or EAC3.
|
|
|
| TEST_F(AudioVideoPipelineDeviceTest, OpusPlayback_WithEffectsStreams_Optional) {
|
| - scoped_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
| + std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
|
|
| set_sync_type(MediaPipelineDeviceParams::kModeSyncPts);
|
| ConfigureForAudioOnly("bear-opus.ogg");
|
| @@ -1115,7 +1122,7 @@ TEST_F(AudioVideoPipelineDeviceTest, OpusPlayback_WithEffectsStreams_Optional) {
|
| }
|
|
|
| TEST_F(AudioVideoPipelineDeviceTest, FlacPlayback_WithEffectsStreams_Optional) {
|
| - scoped_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
| + std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
|
|
| set_sync_type(MediaPipelineDeviceParams::kModeSyncPts);
|
| ConfigureForAudioOnly("bear.flac");
|
| @@ -1126,7 +1133,7 @@ TEST_F(AudioVideoPipelineDeviceTest, FlacPlayback_WithEffectsStreams_Optional) {
|
| }
|
|
|
| TEST_F(AudioVideoPipelineDeviceTest, H264Playback_WithEffectsStreams) {
|
| - scoped_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
| + std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
|
|
| set_sync_type(MediaPipelineDeviceParams::kModeIgnorePtsAndVSync);
|
| ConfigureForVideoOnly("bear.h264", true /* raw_h264 */);
|
| @@ -1137,7 +1144,7 @@ TEST_F(AudioVideoPipelineDeviceTest, H264Playback_WithEffectsStreams) {
|
| }
|
|
|
| TEST_F(AudioVideoPipelineDeviceTest, WebmPlaybackWithPause_WithEffectsStreams) {
|
| - scoped_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
| + std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
|
|
| set_sync_type(MediaPipelineDeviceParams::kModeSyncPts);
|
| // Setup to pause for 100ms every 500ms
|
| @@ -1151,7 +1158,7 @@ TEST_F(AudioVideoPipelineDeviceTest, WebmPlaybackWithPause_WithEffectsStreams) {
|
| }
|
|
|
| TEST_F(AudioVideoPipelineDeviceTest, Vp8Playback_WithEffectsStreams) {
|
| - scoped_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
| + std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
|
|
| set_sync_type(MediaPipelineDeviceParams::kModeSyncPts);
|
| ConfigureForVideoOnly("bear-vp8a.webm", false /* raw_h264 */);
|
| @@ -1161,7 +1168,7 @@ TEST_F(AudioVideoPipelineDeviceTest, Vp8Playback_WithEffectsStreams) {
|
| }
|
|
|
| TEST_F(AudioVideoPipelineDeviceTest, WebmPlayback_WithEffectsStreams) {
|
| - scoped_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
| + std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
|
|
|
| set_sync_type(MediaPipelineDeviceParams::kModeIgnorePtsAndVSync);
|
| ConfigureForFile("bear-640x360.webm");
|
|
|