OLD | NEW |
1 /* | 1 /* |
2 * libjingle | 2 * libjingle |
3 * Copyright 2014 Google Inc. | 3 * Copyright 2014 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 437 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
448 void SendAndReceive(const cricket::VideoCodec& codec) { | 448 void SendAndReceive(const cricket::VideoCodec& codec) { |
449 EXPECT_TRUE(SetOneCodec(codec)); | 449 EXPECT_TRUE(SetOneCodec(codec)); |
450 EXPECT_TRUE(SetSend(true)); | 450 EXPECT_TRUE(SetSend(true)); |
451 EXPECT_TRUE(channel_->SetRenderer(kDefaultReceiveSsrc, &renderer_)); | 451 EXPECT_TRUE(channel_->SetRenderer(kDefaultReceiveSsrc, &renderer_)); |
452 EXPECT_EQ(0, renderer_.num_rendered_frames()); | 452 EXPECT_EQ(0, renderer_.num_rendered_frames()); |
453 EXPECT_TRUE(SendFrame()); | 453 EXPECT_TRUE(SendFrame()); |
454 EXPECT_FRAME_WAIT(1, codec.width, codec.height, kTimeout); | 454 EXPECT_FRAME_WAIT(1, codec.width, codec.height, kTimeout); |
455 rtc::scoped_ptr<const rtc::Buffer> p(GetRtpPacket(0)); | 455 rtc::scoped_ptr<const rtc::Buffer> p(GetRtpPacket(0)); |
456 EXPECT_EQ(codec.id, GetPayloadType(p.get())); | 456 EXPECT_EQ(codec.id, GetPayloadType(p.get())); |
457 } | 457 } |
458 // Tests that we only get a VideoRenderer::SetSize() callback when needed. | |
459 void SendManyResizeOnce() { | |
460 cricket::VideoCodec codec(DefaultCodec()); | |
461 EXPECT_TRUE(SetOneCodec(codec)); | |
462 EXPECT_TRUE(SetSend(true)); | |
463 EXPECT_TRUE(channel_->SetRenderer(kDefaultReceiveSsrc, &renderer_)); | |
464 EXPECT_EQ(0, renderer_.num_rendered_frames()); | |
465 EXPECT_TRUE(WaitAndSendFrame(30)); | |
466 EXPECT_FRAME_WAIT(1, codec.width, codec.height, kTimeout); | |
467 EXPECT_TRUE(WaitAndSendFrame(30)); | |
468 EXPECT_FRAME_WAIT(2, codec.width, codec.height, kTimeout); | |
469 rtc::scoped_ptr<const rtc::Buffer> p(GetRtpPacket(0)); | |
470 EXPECT_EQ(codec.id, GetPayloadType(p.get())); | |
471 EXPECT_EQ(1, renderer_.num_set_sizes()); | |
472 | |
473 codec.width /= 2; | |
474 codec.height /= 2; | |
475 EXPECT_TRUE(SetOneCodec(codec)); | |
476 EXPECT_TRUE(WaitAndSendFrame(30)); | |
477 EXPECT_FRAME_WAIT(3, codec.width, codec.height, kTimeout); | |
478 EXPECT_EQ(2, renderer_.num_set_sizes()); | |
479 } | |
480 void SendReceiveManyAndGetStats(const cricket::VideoCodec& codec, | 458 void SendReceiveManyAndGetStats(const cricket::VideoCodec& codec, |
481 int duration_sec, int fps) { | 459 int duration_sec, int fps) { |
482 EXPECT_TRUE(SetOneCodec(codec)); | 460 EXPECT_TRUE(SetOneCodec(codec)); |
483 EXPECT_TRUE(SetSend(true)); | 461 EXPECT_TRUE(SetSend(true)); |
484 EXPECT_TRUE(channel_->SetRenderer(kDefaultReceiveSsrc, &renderer_)); | 462 EXPECT_TRUE(channel_->SetRenderer(kDefaultReceiveSsrc, &renderer_)); |
485 EXPECT_EQ(0, renderer_.num_rendered_frames()); | 463 EXPECT_EQ(0, renderer_.num_rendered_frames()); |
486 for (int i = 0; i < duration_sec; ++i) { | 464 for (int i = 0; i < duration_sec; ++i) { |
487 for (int frame = 1; frame <= fps; ++frame) { | 465 for (int frame = 1; frame <= fps; ++frame) { |
488 EXPECT_TRUE(WaitAndSendFrame(1000 / fps)); | 466 EXPECT_TRUE(WaitAndSendFrame(1000 / fps)); |
489 EXPECT_FRAME_WAIT(frame + i * fps, codec.width, codec.height, kTimeout); | 467 EXPECT_FRAME_WAIT(frame + i * fps, codec.width, codec.height, kTimeout); |
(...skipping 999 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1489 rtc::scoped_ptr<C> channel_; | 1467 rtc::scoped_ptr<C> channel_; |
1490 cricket::FakeNetworkInterface network_interface_; | 1468 cricket::FakeNetworkInterface network_interface_; |
1491 cricket::FakeVideoRenderer renderer_; | 1469 cricket::FakeVideoRenderer renderer_; |
1492 cricket::VideoMediaChannel::Error media_error_; | 1470 cricket::VideoMediaChannel::Error media_error_; |
1493 | 1471 |
1494 // Used by test cases where 2 streams are run on the same channel. | 1472 // Used by test cases where 2 streams are run on the same channel. |
1495 cricket::FakeVideoRenderer renderer2_; | 1473 cricket::FakeVideoRenderer renderer2_; |
1496 }; | 1474 }; |
1497 | 1475 |
1498 #endif // TALK_MEDIA_BASE_VIDEOENGINE_UNITTEST_H_ NOLINT | 1476 #endif // TALK_MEDIA_BASE_VIDEOENGINE_UNITTEST_H_ NOLINT |
OLD | NEW |