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

Side by Side Diff: chromecast/media/cma/pipeline/audio_video_pipeline_impl_unittest.cc

Issue 1148253006: Chromecast: Use std::vector to pass video config in CMA (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove DCHECK when config is updated. Will create another CL for the change Created 5 years, 6 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 unified diff | Download patch
OLDNEW
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
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
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
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
OLDNEW
« no previous file with comments | « chromecast/media/cma/pipeline/audio_pipeline_impl.cc ('k') | chromecast/media/cma/pipeline/media_pipeline.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698