OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <stdint.h> | 5 #include <stdint.h> |
6 | 6 |
7 #include <limits> | 7 #include <limits> |
8 #include <memory> | 8 #include <memory> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 16 matching lines...) Expand all Loading... |
27 #include "base/time/time.h" | 27 #include "base/time/time.h" |
28 #include "chromecast/base/task_runner_impl.h" | 28 #include "chromecast/base/task_runner_impl.h" |
29 #include "chromecast/media/cma/base/decoder_buffer_adapter.h" | 29 #include "chromecast/media/cma/base/decoder_buffer_adapter.h" |
30 #include "chromecast/media/cma/base/decoder_config_adapter.h" | 30 #include "chromecast/media/cma/base/decoder_config_adapter.h" |
31 #include "chromecast/media/cma/test/frame_segmenter_for_test.h" | 31 #include "chromecast/media/cma/test/frame_segmenter_for_test.h" |
32 #include "chromecast/public/cast_media_shlib.h" | 32 #include "chromecast/public/cast_media_shlib.h" |
33 #include "chromecast/public/media/cast_decoder_buffer.h" | 33 #include "chromecast/public/media/cast_decoder_buffer.h" |
34 #include "chromecast/public/media/decoder_config.h" | 34 #include "chromecast/public/media/decoder_config.h" |
35 #include "chromecast/public/media/media_pipeline_backend.h" | 35 #include "chromecast/public/media/media_pipeline_backend.h" |
36 #include "chromecast/public/media/media_pipeline_device_params.h" | 36 #include "chromecast/public/media/media_pipeline_device_params.h" |
| 37 #include "media/audio/audio_device_description.h" |
37 #include "media/base/audio_decoder_config.h" | 38 #include "media/base/audio_decoder_config.h" |
38 #include "media/base/audio_timestamp_helper.h" | 39 #include "media/base/audio_timestamp_helper.h" |
39 #include "media/base/decoder_buffer.h" | 40 #include "media/base/decoder_buffer.h" |
40 #include "media/base/encryption_scheme.h" | 41 #include "media/base/encryption_scheme.h" |
41 #include "media/base/video_decoder_config.h" | 42 #include "media/base/video_decoder_config.h" |
42 #include "testing/gtest/include/gtest/gtest.h" | 43 #include "testing/gtest/include/gtest/gtest.h" |
43 | 44 |
44 namespace chromecast { | 45 namespace chromecast { |
45 namespace media { | 46 namespace media { |
46 | 47 |
(...skipping 560 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
607 stopped_(false), | 608 stopped_(false), |
608 ran_playing_playback_checks_(false), | 609 ran_playing_playback_checks_(false), |
609 backwards_pts_change_(false), | 610 backwards_pts_change_(false), |
610 pause_pattern_() {} | 611 pause_pattern_() {} |
611 | 612 |
612 AudioVideoPipelineDeviceTest::~AudioVideoPipelineDeviceTest() {} | 613 AudioVideoPipelineDeviceTest::~AudioVideoPipelineDeviceTest() {} |
613 | 614 |
614 void AudioVideoPipelineDeviceTest::Initialize() { | 615 void AudioVideoPipelineDeviceTest::Initialize() { |
615 // Create the media device. | 616 // Create the media device. |
616 task_runner_.reset(new TaskRunnerImpl()); | 617 task_runner_.reset(new TaskRunnerImpl()); |
617 MediaPipelineDeviceParams params(sync_type_, audio_type_, task_runner_.get()); | 618 MediaPipelineDeviceParams params( |
| 619 sync_type_, audio_type_, task_runner_.get(), AudioContentType::kMedia, |
| 620 ::media::AudioDeviceDescription::kDefaultDeviceId); |
618 backend_.reset(CastMediaShlib::CreateMediaPipelineBackend(params)); | 621 backend_.reset(CastMediaShlib::CreateMediaPipelineBackend(params)); |
619 CHECK(backend_); | 622 CHECK(backend_); |
620 } | 623 } |
621 | 624 |
622 void AudioVideoPipelineDeviceTest::AddPause(base::TimeDelta delay, | 625 void AudioVideoPipelineDeviceTest::AddPause(base::TimeDelta delay, |
623 base::TimeDelta length) { | 626 base::TimeDelta length) { |
624 DCHECK_EQ(MediaPipelineDeviceParams::kModeSyncPts, sync_type_); | 627 DCHECK_EQ(MediaPipelineDeviceParams::kModeSyncPts, sync_type_); |
625 pause_pattern_.push_back(PauseInfo(delay, length)); | 628 pause_pattern_.push_back(PauseInfo(delay, length)); |
626 } | 629 } |
627 | 630 |
628 void AudioVideoPipelineDeviceTest::PauseBeforeEos() { | 631 void AudioVideoPipelineDeviceTest::PauseBeforeEos() { |
629 if (audio_feeder_) | 632 if (audio_feeder_) |
630 audio_feeder_->PauseBeforeEos(); | 633 audio_feeder_->PauseBeforeEos(); |
631 if (video_feeder_) | 634 if (video_feeder_) |
632 video_feeder_->PauseBeforeEos(); | 635 video_feeder_->PauseBeforeEos(); |
633 } | 636 } |
634 | 637 |
635 void AudioVideoPipelineDeviceTest::AddEffectsStreams() { | 638 void AudioVideoPipelineDeviceTest::AddEffectsStreams() { |
636 for (int i = 0; i < kNumEffectsStreams; ++i) { | 639 for (int i = 0; i < kNumEffectsStreams; ++i) { |
637 MediaPipelineDeviceParams params( | 640 MediaPipelineDeviceParams params( |
638 MediaPipelineDeviceParams::kModeIgnorePts, | 641 MediaPipelineDeviceParams::kModeIgnorePts, |
639 MediaPipelineDeviceParams::kAudioStreamSoundEffects, | 642 MediaPipelineDeviceParams::kAudioStreamSoundEffects, task_runner_.get(), |
640 task_runner_.get()); | 643 AudioContentType::kMedia, |
| 644 ::media::AudioDeviceDescription::kDefaultDeviceId); |
641 MediaPipelineBackend* effects_backend = | 645 MediaPipelineBackend* effects_backend = |
642 CastMediaShlib::CreateMediaPipelineBackend(params); | 646 CastMediaShlib::CreateMediaPipelineBackend(params); |
643 CHECK(effects_backend); | 647 CHECK(effects_backend); |
644 effects_backends_.push_back(base::WrapUnique(effects_backend)); | 648 effects_backends_.push_back(base::WrapUnique(effects_backend)); |
645 | 649 |
646 MediaPipelineBackend::AudioDecoder* audio_decoder = | 650 MediaPipelineBackend::AudioDecoder* audio_decoder = |
647 effects_backend->CreateAudioDecoder(); | 651 effects_backend->CreateAudioDecoder(); |
648 audio_decoder->SetConfig(DefaultAudioConfig()); | 652 audio_decoder->SetConfig(DefaultAudioConfig()); |
649 | 653 |
650 std::unique_ptr<BufferFeeder> feeder( | 654 std::unique_ptr<BufferFeeder> feeder( |
(...skipping 527 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1178 set_sync_type(MediaPipelineDeviceParams::kModeSyncPts); | 1182 set_sync_type(MediaPipelineDeviceParams::kModeSyncPts); |
1179 ConfigureForFile("bear-640x360.webm"); | 1183 ConfigureForFile("bear-640x360.webm"); |
1180 PauseBeforeEos(); | 1184 PauseBeforeEos(); |
1181 AddEffectsStreams(); | 1185 AddEffectsStreams(); |
1182 Start(); | 1186 Start(); |
1183 base::RunLoop().Run(); | 1187 base::RunLoop().Run(); |
1184 } | 1188 } |
1185 | 1189 |
1186 } // namespace media | 1190 } // namespace media |
1187 } // namespace chromecast | 1191 } // namespace chromecast |
OLD | NEW |