| 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 |