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 <vector> | 5 #include <vector> |
6 | 6 |
7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
8 #include "base/bind.h" | 8 #include "base/bind.h" |
9 #include "base/memory/ref_counted.h" | 9 #include "base/memory/ref_counted.h" |
10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 base::Bind(&AudioVideoPipelineImplTest::OnEos, base::Unretained(this)); | 84 base::Bind(&AudioVideoPipelineImplTest::OnEos, base::Unretained(this)); |
85 media_pipeline_->GetVideoPipeline()->SetClient(client); | 85 media_pipeline_->GetVideoPipeline()->SetClient(client); |
86 } | 86 } |
87 | 87 |
88 ::media::AudioDecoderConfig audio_config( | 88 ::media::AudioDecoderConfig audio_config( |
89 ::media::kCodecMP3, | 89 ::media::kCodecMP3, |
90 ::media::kSampleFormatS16, | 90 ::media::kSampleFormatS16, |
91 ::media::CHANNEL_LAYOUT_STEREO, | 91 ::media::CHANNEL_LAYOUT_STEREO, |
92 44100, | 92 44100, |
93 NULL, 0, false); | 93 NULL, 0, false); |
94 ::media::VideoDecoderConfig video_config( | 94 std::vector<::media::VideoDecoderConfig> video_configs; |
| 95 video_configs.push_back(::media::VideoDecoderConfig( |
95 ::media::kCodecH264, | 96 ::media::kCodecH264, |
96 ::media::H264PROFILE_MAIN, | 97 ::media::H264PROFILE_MAIN, |
97 ::media::VideoFrame::I420, | 98 ::media::VideoFrame::I420, |
98 gfx::Size(640, 480), | 99 gfx::Size(640, 480), |
99 gfx::Rect(0, 0, 640, 480), | 100 gfx::Rect(0, 0, 640, 480), |
100 gfx::Size(640, 480), | 101 gfx::Size(640, 480), |
101 NULL, 0, false); | 102 NULL, 0, false)); |
102 | 103 |
103 // Frame generation on the producer side. | 104 // Frame generation on the producer side. |
104 std::vector<FrameGeneratorForTest::FrameSpec> frame_specs; | 105 std::vector<FrameGeneratorForTest::FrameSpec> frame_specs; |
105 frame_specs.resize(100); | 106 frame_specs.resize(100); |
106 for (size_t k = 0; k < frame_specs.size() - 1; k++) { | 107 for (size_t k = 0; k < frame_specs.size() - 1; k++) { |
107 frame_specs[k].has_config = (k == 0); | 108 frame_specs[k].has_config = (k == 0); |
108 frame_specs[k].timestamp = base::TimeDelta::FromMilliseconds(40) * k; | 109 frame_specs[k].timestamp = base::TimeDelta::FromMilliseconds(40) * k; |
109 frame_specs[k].size = 512; | 110 frame_specs[k].size = 512; |
110 frame_specs[k].has_decrypt_config = false; | 111 frame_specs[k].has_decrypt_config = false; |
111 } | 112 } |
(...skipping 16 matching lines...) Expand all Loading... |
128 | 129 |
129 scoped_ptr<CodedFrameProvider> frame_provider_base(frame_provider.release()); | 130 scoped_ptr<CodedFrameProvider> frame_provider_base(frame_provider.release()); |
130 base::Closure task = is_audio ? | 131 base::Closure task = is_audio ? |
131 base::Bind(&MediaPipeline::InitializeAudio, | 132 base::Bind(&MediaPipeline::InitializeAudio, |
132 base::Unretained(media_pipeline_.get()), | 133 base::Unretained(media_pipeline_.get()), |
133 audio_config, | 134 audio_config, |
134 base::Passed(&frame_provider_base), | 135 base::Passed(&frame_provider_base), |
135 next_task) : | 136 next_task) : |
136 base::Bind(&MediaPipeline::InitializeVideo, | 137 base::Bind(&MediaPipeline::InitializeVideo, |
137 base::Unretained(media_pipeline_.get()), | 138 base::Unretained(media_pipeline_.get()), |
138 video_config, | 139 video_configs, |
139 base::Passed(&frame_provider_base), | 140 base::Passed(&frame_provider_base), |
140 next_task); | 141 next_task); |
141 | 142 |
142 base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, task); | 143 base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, task); |
143 } | 144 } |
144 | 145 |
145 void AudioVideoPipelineImplTest::StartPlaying( | 146 void AudioVideoPipelineImplTest::StartPlaying( |
146 const base::Closure& done_cb, ::media::PipelineStatus status) { | 147 const base::Closure& done_cb, ::media::PipelineStatus status) { |
147 base::TimeDelta start_time = base::TimeDelta::FromMilliseconds(0); | 148 base::TimeDelta start_time = base::TimeDelta::FromMilliseconds(0); |
148 | 149 |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
202 FROM_HERE, | 203 FROM_HERE, |
203 base::Bind(&AudioVideoPipelineImplTest::Initialize, | 204 base::Bind(&AudioVideoPipelineImplTest::Initialize, |
204 base::Unretained(this), | 205 base::Unretained(this), |
205 base::Closure(), | 206 base::Closure(), |
206 ::media::PIPELINE_OK, is_audio)); | 207 ::media::PIPELINE_OK, is_audio)); |
207 message_loop->Run(); | 208 message_loop->Run(); |
208 }; | 209 }; |
209 | 210 |
210 } // namespace media | 211 } // namespace media |
211 } // namespace chromecast | 212 } // namespace chromecast |
OLD | NEW |