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

Side by Side Diff: talk/media/base/videocapturer_unittest.cc

Issue 1574963002: Deleted renderer-related SetSize methods, and all uses. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Rebase Created 4 years, 11 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
« no previous file with comments | « talk/media/base/fakevideorenderer.h ('k') | talk/media/base/videoengine_unittest.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * libjingle 2 * libjingle
3 * Copyright 2008 Google Inc. 3 * Copyright 2008 Google Inc.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met: 6 * modification, are permitted provided that the following conditions are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright notice, 8 * 1. Redistributions of source code must retain the above copyright notice,
9 * this list of conditions and the following disclaimer. 9 * this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright notice, 10 * 2. Redistributions in binary form must reproduce the above copyright notice,
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 cricket::VideoFormat::FpsToInterval(5), cricket::FOURCC_ARGB)); 207 cricket::VideoFormat::FpsToInterval(5), cricket::FOURCC_ARGB));
208 capturer_.ResetSupportedFormats(formats); 208 capturer_.ResetSupportedFormats(formats);
209 209
210 EXPECT_EQ(cricket::CS_RUNNING, capturer_.Start(cricket::VideoFormat( 210 EXPECT_EQ(cricket::CS_RUNNING, capturer_.Start(cricket::VideoFormat(
211 kWidth, 211 kWidth,
212 kHeight, 212 kHeight,
213 cricket::VideoFormat::FpsToInterval(30), 213 cricket::VideoFormat::FpsToInterval(30),
214 cricket::FOURCC_ARGB))); 214 cricket::FOURCC_ARGB)));
215 EXPECT_TRUE(capturer_.IsRunning()); 215 EXPECT_TRUE(capturer_.IsRunning());
216 EXPECT_EQ(0, renderer_.num_rendered_frames()); 216 EXPECT_EQ(0, renderer_.num_rendered_frames());
217 renderer_.SetSize(kWidth, kHeight, 0);
218 EXPECT_TRUE(capturer_.CaptureFrame()); 217 EXPECT_TRUE(capturer_.CaptureFrame());
219 EXPECT_EQ(1, renderer_.num_rendered_frames()); 218 EXPECT_EQ(1, renderer_.num_rendered_frames());
219 EXPECT_EQ(kWidth, renderer_.width());
220 EXPECT_EQ(kHeight, renderer_.height());
220 } 221 }
221 222
222 TEST_F(VideoCapturerTest, TestRotationPending) { 223 TEST_F(VideoCapturerTest, TestRotationPending) {
223 int kWidth = 800; 224 int kWidth = 800;
224 int kHeight = 400; 225 int kHeight = 400;
225 int frame_count = 0; 226 int frame_count = 0;
226 227
227 std::vector<cricket::VideoFormat> formats; 228 std::vector<cricket::VideoFormat> formats;
228 formats.push_back(cricket::VideoFormat(kWidth, kHeight, 229 formats.push_back(cricket::VideoFormat(kWidth, kHeight,
229 cricket::VideoFormat::FpsToInterval(5), 230 cricket::VideoFormat::FpsToInterval(5),
230 cricket::FOURCC_I420)); 231 cricket::FOURCC_I420));
231 232
232 capturer_.ResetSupportedFormats(formats); 233 capturer_.ResetSupportedFormats(formats);
233 // capturer_ should compensate rotation as default. 234 // capturer_ should compensate rotation as default.
234 capturer_.UpdateAspectRatio(400, 200); 235 capturer_.UpdateAspectRatio(400, 200);
235 236
236 EXPECT_EQ(cricket::CS_RUNNING, 237 EXPECT_EQ(cricket::CS_RUNNING,
237 capturer_.Start(cricket::VideoFormat( 238 capturer_.Start(cricket::VideoFormat(
238 kWidth, kHeight, cricket::VideoFormat::FpsToInterval(30), 239 kWidth, kHeight, cricket::VideoFormat::FpsToInterval(30),
239 cricket::FOURCC_I420))); 240 cricket::FOURCC_I420)));
240 EXPECT_TRUE(capturer_.IsRunning()); 241 EXPECT_TRUE(capturer_.IsRunning());
241 EXPECT_EQ(0, renderer_.num_rendered_frames()); 242 EXPECT_EQ(0, renderer_.num_rendered_frames());
242 243
243 // If the frame's rotation is compensated anywhere in the pipeline based on 244 // If the frame's rotation is compensated anywhere in the pipeline based on
244 // the rotation information, the renderer should be given the right dimension 245 // the rotation information, the renderer should be given the right dimension
245 // such that the frame could be rendered. 246 // such that the frame could be rendered.
246 247
247 // Swap the dimension for the next 2 frames which are rotated by 90 and 270
248 // degree.
249 renderer_.SetSize(kHeight, kWidth, 0);
250
251 capturer_.SetRotation(webrtc::kVideoRotation_90); 248 capturer_.SetRotation(webrtc::kVideoRotation_90);
252 EXPECT_TRUE(capturer_.CaptureFrame()); 249 EXPECT_TRUE(capturer_.CaptureFrame());
253 EXPECT_EQ(++frame_count, renderer_.num_rendered_frames()); 250 EXPECT_EQ(++frame_count, renderer_.num_rendered_frames());
251 // Swapped width and height
252 EXPECT_EQ(kWidth, renderer_.height());
253 EXPECT_EQ(kHeight, renderer_.width());
254 254
255 capturer_.SetRotation(webrtc::kVideoRotation_270); 255 capturer_.SetRotation(webrtc::kVideoRotation_270);
256 EXPECT_TRUE(capturer_.CaptureFrame()); 256 EXPECT_TRUE(capturer_.CaptureFrame());
257 EXPECT_EQ(++frame_count, renderer_.num_rendered_frames()); 257 EXPECT_EQ(++frame_count, renderer_.num_rendered_frames());
258 258 // Swapped width and height
259 // Reset the renderer to have corresponding width and height. 259 EXPECT_EQ(kWidth, renderer_.height());
260 renderer_.SetSize(kWidth, kHeight, 0); 260 EXPECT_EQ(kHeight, renderer_.width());
261 261
262 capturer_.SetRotation(webrtc::kVideoRotation_180); 262 capturer_.SetRotation(webrtc::kVideoRotation_180);
263 EXPECT_TRUE(capturer_.CaptureFrame()); 263 EXPECT_TRUE(capturer_.CaptureFrame());
264 EXPECT_EQ(++frame_count, renderer_.num_rendered_frames()); 264 EXPECT_EQ(++frame_count, renderer_.num_rendered_frames());
265 // Back to normal width and height
266 EXPECT_EQ(kWidth, renderer_.width());
267 EXPECT_EQ(kHeight, renderer_.height());
265 } 268 }
266 269
267 TEST_F(VideoCapturerTest, TestRotationApplied) { 270 TEST_F(VideoCapturerTest, TestRotationApplied) {
268 int kWidth = 800; 271 int kWidth = 800;
269 int kHeight = 400; 272 int kHeight = 400;
270 273
271 std::vector<cricket::VideoFormat> formats; 274 std::vector<cricket::VideoFormat> formats;
272 formats.push_back(cricket::VideoFormat(kWidth, kHeight, 275 formats.push_back(cricket::VideoFormat(kWidth, kHeight,
273 cricket::VideoFormat::FpsToInterval(5), 276 cricket::VideoFormat::FpsToInterval(5),
274 cricket::FOURCC_I420)); 277 cricket::FOURCC_I420));
275 278
276 capturer_.ResetSupportedFormats(formats); 279 capturer_.ResetSupportedFormats(formats);
277 // capturer_ should not compensate rotation. 280 // capturer_ should not compensate rotation.
278 capturer_.SetApplyRotation(false); 281 capturer_.SetApplyRotation(false);
279 capturer_.UpdateAspectRatio(400, 200); 282 capturer_.UpdateAspectRatio(400, 200);
280 set_expected_compensation(false); 283 set_expected_compensation(false);
281 284
282 EXPECT_EQ(cricket::CS_RUNNING, 285 EXPECT_EQ(cricket::CS_RUNNING,
283 capturer_.Start(cricket::VideoFormat( 286 capturer_.Start(cricket::VideoFormat(
284 kWidth, kHeight, cricket::VideoFormat::FpsToInterval(30), 287 kWidth, kHeight, cricket::VideoFormat::FpsToInterval(30),
285 cricket::FOURCC_I420))); 288 cricket::FOURCC_I420)));
286 EXPECT_TRUE(capturer_.IsRunning()); 289 EXPECT_TRUE(capturer_.IsRunning());
287 EXPECT_EQ(0, renderer_.num_rendered_frames()); 290 EXPECT_EQ(0, renderer_.num_rendered_frames());
288 291
289 renderer_.SetSize(kWidth, kHeight, 0);
290
291 // If the frame's rotation is compensated anywhere in the pipeline, the frame 292 // If the frame's rotation is compensated anywhere in the pipeline, the frame
292 // won't have its original dimension out from capturer. Since the renderer 293 // won't have its original dimension out from capturer. Since the renderer
293 // here has the same dimension as the capturer, it will skip that frame as the 294 // here has the same dimension as the capturer, it will skip that frame as the
294 // resolution won't match anymore. 295 // resolution won't match anymore.
295 296
296 int frame_count = 0; 297 int frame_count = 0;
297 capturer_.SetRotation(webrtc::kVideoRotation_0); 298 capturer_.SetRotation(webrtc::kVideoRotation_0);
298 EXPECT_TRUE(capturer_.CaptureFrame()); 299 EXPECT_TRUE(capturer_.CaptureFrame());
299 EXPECT_EQ(++frame_count, renderer_.num_rendered_frames()); 300 EXPECT_EQ(++frame_count, renderer_.num_rendered_frames());
300 301
(...skipping 23 matching lines...) Expand all
324 cricket::VideoFormat::FpsToInterval(5), cricket::FOURCC_ARGB)); 325 cricket::VideoFormat::FpsToInterval(5), cricket::FOURCC_ARGB));
325 capturer_.ResetSupportedFormats(formats); 326 capturer_.ResetSupportedFormats(formats);
326 327
327 EXPECT_EQ(cricket::CS_RUNNING, capturer_.Start(cricket::VideoFormat( 328 EXPECT_EQ(cricket::CS_RUNNING, capturer_.Start(cricket::VideoFormat(
328 kWidth, 329 kWidth,
329 kHeight, 330 kHeight,
330 cricket::VideoFormat::FpsToInterval(30), 331 cricket::VideoFormat::FpsToInterval(30),
331 cricket::FOURCC_ARGB))); 332 cricket::FOURCC_ARGB)));
332 EXPECT_TRUE(capturer_.IsRunning()); 333 EXPECT_TRUE(capturer_.IsRunning());
333 EXPECT_EQ(0, renderer_.num_rendered_frames()); 334 EXPECT_EQ(0, renderer_.num_rendered_frames());
334 renderer_.SetSize(2050, 1538, 0);
335 EXPECT_TRUE(capturer_.CaptureFrame()); 335 EXPECT_TRUE(capturer_.CaptureFrame());
336 EXPECT_EQ(1, renderer_.num_rendered_frames()); 336 EXPECT_EQ(1, renderer_.num_rendered_frames());
337 EXPECT_EQ(kWidth / 2, renderer_.width());
338 EXPECT_EQ(kHeight / 2, renderer_.height());
337 } 339 }
338 340
339 TEST_F(VideoCapturerTest, TestFourccMatch) { 341 TEST_F(VideoCapturerTest, TestFourccMatch) {
340 cricket::VideoFormat desired(640, 480, 342 cricket::VideoFormat desired(640, 480,
341 cricket::VideoFormat::FpsToInterval(30), 343 cricket::VideoFormat::FpsToInterval(30),
342 cricket::FOURCC_ANY); 344 cricket::FOURCC_ANY);
343 cricket::VideoFormat best; 345 cricket::VideoFormat best;
344 EXPECT_TRUE(capturer_.GetBestCaptureFormat(desired, &best)); 346 EXPECT_TRUE(capturer_.GetBestCaptureFormat(desired, &best));
345 EXPECT_EQ(640, best.width); 347 EXPECT_EQ(640, best.width);
346 EXPECT_EQ(480, best.height); 348 EXPECT_EQ(480, best.height);
(...skipping 459 matching lines...) Expand 10 before | Expand all | Expand 10 after
806 capturer_.set_enable_camera_list(true); 808 capturer_.set_enable_camera_list(true);
807 capturer_.ConstrainSupportedFormats(vga_format); 809 capturer_.ConstrainSupportedFormats(vga_format);
808 EXPECT_EQ(2u, capturer_.GetSupportedFormats()->size()); 810 EXPECT_EQ(2u, capturer_.GetSupportedFormats()->size());
809 // To make sure it's not just the camera list being broken, add in VGA and 811 // To make sure it's not just the camera list being broken, add in VGA and
810 // try again. This time, only the VGA format should be there. 812 // try again. This time, only the VGA format should be there.
811 supported_formats.push_back(vga_format); 813 supported_formats.push_back(vga_format);
812 capturer_.ResetSupportedFormats(supported_formats); 814 capturer_.ResetSupportedFormats(supported_formats);
813 ASSERT_EQ(1u, capturer_.GetSupportedFormats()->size()); 815 ASSERT_EQ(1u, capturer_.GetSupportedFormats()->size());
814 EXPECT_EQ(vga_format.height, capturer_.GetSupportedFormats()->at(0).height); 816 EXPECT_EQ(vga_format.height, capturer_.GetSupportedFormats()->at(0).height);
815 } 817 }
OLDNEW
« no previous file with comments | « talk/media/base/fakevideorenderer.h ('k') | talk/media/base/videoengine_unittest.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698