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

Side by Side Diff: talk/media/base/videoengine_unittest.h

Issue 1334793003: Remove VideoMediaChannel::SetRender(). (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: remove IsReadyToReceive from logging Created 5 years, 2 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 /* 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 751 matching lines...) Expand 10 before | Expand all | Expand 10 after
762 EXPECT_TRUE(SetSend(true)); 762 EXPECT_TRUE(SetSend(true));
763 EXPECT_TRUE(SendFrame()); 763 EXPECT_TRUE(SendFrame());
764 EXPECT_TRUE_WAIT(NumRtpPackets() > 0, kTimeout); 764 EXPECT_TRUE_WAIT(NumRtpPackets() > 0, kTimeout);
765 rtc::scoped_ptr<const rtc::Buffer> p(GetRtpPacket(0)); 765 rtc::scoped_ptr<const rtc::Buffer> p(GetRtpPacket(0));
766 EXPECT_EQ(codec.id, GetPayloadType(p.get())); 766 EXPECT_EQ(codec.id, GetPayloadType(p.get()));
767 } 767 }
768 // Tests that we can send and receive frames. 768 // Tests that we can send and receive frames.
769 void SendAndReceive(const cricket::VideoCodec& codec) { 769 void SendAndReceive(const cricket::VideoCodec& codec) {
770 EXPECT_TRUE(SetOneCodec(codec)); 770 EXPECT_TRUE(SetOneCodec(codec));
771 EXPECT_TRUE(SetSend(true)); 771 EXPECT_TRUE(SetSend(true));
772 EXPECT_TRUE(channel_->SetRender(true));
773 EXPECT_TRUE(channel_->SetRenderer(kDefaultReceiveSsrc, &renderer_)); 772 EXPECT_TRUE(channel_->SetRenderer(kDefaultReceiveSsrc, &renderer_));
774 EXPECT_EQ(0, renderer_.num_rendered_frames()); 773 EXPECT_EQ(0, renderer_.num_rendered_frames());
775 EXPECT_TRUE(SendFrame()); 774 EXPECT_TRUE(SendFrame());
776 EXPECT_FRAME_WAIT(1, codec.width, codec.height, kTimeout); 775 EXPECT_FRAME_WAIT(1, codec.width, codec.height, kTimeout);
777 rtc::scoped_ptr<const rtc::Buffer> p(GetRtpPacket(0)); 776 rtc::scoped_ptr<const rtc::Buffer> p(GetRtpPacket(0));
778 EXPECT_EQ(codec.id, GetPayloadType(p.get())); 777 EXPECT_EQ(codec.id, GetPayloadType(p.get()));
779 } 778 }
780 // Tests that we only get a VideoRenderer::SetSize() callback when needed. 779 // Tests that we only get a VideoRenderer::SetSize() callback when needed.
781 void SendManyResizeOnce() { 780 void SendManyResizeOnce() {
782 cricket::VideoCodec codec(DefaultCodec()); 781 cricket::VideoCodec codec(DefaultCodec());
783 EXPECT_TRUE(SetOneCodec(codec)); 782 EXPECT_TRUE(SetOneCodec(codec));
784 EXPECT_TRUE(SetSend(true)); 783 EXPECT_TRUE(SetSend(true));
785 EXPECT_TRUE(channel_->SetRender(true));
786 EXPECT_TRUE(channel_->SetRenderer(kDefaultReceiveSsrc, &renderer_)); 784 EXPECT_TRUE(channel_->SetRenderer(kDefaultReceiveSsrc, &renderer_));
787 EXPECT_EQ(0, renderer_.num_rendered_frames()); 785 EXPECT_EQ(0, renderer_.num_rendered_frames());
788 EXPECT_TRUE(WaitAndSendFrame(30)); 786 EXPECT_TRUE(WaitAndSendFrame(30));
789 EXPECT_FRAME_WAIT(1, codec.width, codec.height, kTimeout); 787 EXPECT_FRAME_WAIT(1, codec.width, codec.height, kTimeout);
790 EXPECT_TRUE(WaitAndSendFrame(30)); 788 EXPECT_TRUE(WaitAndSendFrame(30));
791 EXPECT_FRAME_WAIT(2, codec.width, codec.height, kTimeout); 789 EXPECT_FRAME_WAIT(2, codec.width, codec.height, kTimeout);
792 rtc::scoped_ptr<const rtc::Buffer> p(GetRtpPacket(0)); 790 rtc::scoped_ptr<const rtc::Buffer> p(GetRtpPacket(0));
793 EXPECT_EQ(codec.id, GetPayloadType(p.get())); 791 EXPECT_EQ(codec.id, GetPayloadType(p.get()));
794 EXPECT_EQ(1, renderer_.num_set_sizes()); 792 EXPECT_EQ(1, renderer_.num_set_sizes());
795 793
796 codec.width /= 2; 794 codec.width /= 2;
797 codec.height /= 2; 795 codec.height /= 2;
798 EXPECT_TRUE(SetOneCodec(codec)); 796 EXPECT_TRUE(SetOneCodec(codec));
799 EXPECT_TRUE(WaitAndSendFrame(30)); 797 EXPECT_TRUE(WaitAndSendFrame(30));
800 EXPECT_FRAME_WAIT(3, codec.width, codec.height, kTimeout); 798 EXPECT_FRAME_WAIT(3, codec.width, codec.height, kTimeout);
801 EXPECT_EQ(2, renderer_.num_set_sizes()); 799 EXPECT_EQ(2, renderer_.num_set_sizes());
802 } 800 }
803 void SendReceiveManyAndGetStats(const cricket::VideoCodec& codec, 801 void SendReceiveManyAndGetStats(const cricket::VideoCodec& codec,
804 int duration_sec, int fps) { 802 int duration_sec, int fps) {
805 EXPECT_TRUE(SetOneCodec(codec)); 803 EXPECT_TRUE(SetOneCodec(codec));
806 EXPECT_TRUE(SetSend(true)); 804 EXPECT_TRUE(SetSend(true));
807 EXPECT_TRUE(channel_->SetRender(true));
808 EXPECT_TRUE(channel_->SetRenderer(kDefaultReceiveSsrc, &renderer_)); 805 EXPECT_TRUE(channel_->SetRenderer(kDefaultReceiveSsrc, &renderer_));
809 EXPECT_EQ(0, renderer_.num_rendered_frames()); 806 EXPECT_EQ(0, renderer_.num_rendered_frames());
810 for (int i = 0; i < duration_sec; ++i) { 807 for (int i = 0; i < duration_sec; ++i) {
811 for (int frame = 1; frame <= fps; ++frame) { 808 for (int frame = 1; frame <= fps; ++frame) {
812 EXPECT_TRUE(WaitAndSendFrame(1000 / fps)); 809 EXPECT_TRUE(WaitAndSendFrame(1000 / fps));
813 EXPECT_FRAME_WAIT(frame + i * fps, codec.width, codec.height, kTimeout); 810 EXPECT_FRAME_WAIT(frame + i * fps, codec.width, codec.height, kTimeout);
814 } 811 }
815 } 812 }
816 rtc::scoped_ptr<const rtc::Buffer> p(GetRtpPacket(0)); 813 rtc::scoped_ptr<const rtc::Buffer> p(GetRtpPacket(0));
817 EXPECT_EQ(codec.id, GetPayloadType(p.get())); 814 EXPECT_EQ(codec.id, GetPayloadType(p.get()));
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
880 parameters.codecs.push_back(DefaultCodec()); 877 parameters.codecs.push_back(DefaultCodec());
881 parameters.options.conference_mode.Set(true); 878 parameters.options.conference_mode.Set(true);
882 EXPECT_TRUE(channel_->SetSendParameters(parameters)); 879 EXPECT_TRUE(channel_->SetSendParameters(parameters));
883 EXPECT_TRUE(SetSend(true)); 880 EXPECT_TRUE(SetSend(true));
884 EXPECT_TRUE(channel_->AddRecvStream( 881 EXPECT_TRUE(channel_->AddRecvStream(
885 cricket::StreamParams::CreateLegacy(1))); 882 cricket::StreamParams::CreateLegacy(1)));
886 EXPECT_TRUE(channel_->AddRecvStream( 883 EXPECT_TRUE(channel_->AddRecvStream(
887 cricket::StreamParams::CreateLegacy(2))); 884 cricket::StreamParams::CreateLegacy(2)));
888 EXPECT_TRUE(channel_->SetRenderer(1, &renderer1)); 885 EXPECT_TRUE(channel_->SetRenderer(1, &renderer1));
889 EXPECT_TRUE(channel_->SetRenderer(2, &renderer2)); 886 EXPECT_TRUE(channel_->SetRenderer(2, &renderer2));
890 EXPECT_TRUE(channel_->SetRender(true));
891 EXPECT_EQ(0, renderer1.num_rendered_frames()); 887 EXPECT_EQ(0, renderer1.num_rendered_frames());
892 EXPECT_EQ(0, renderer2.num_rendered_frames()); 888 EXPECT_EQ(0, renderer2.num_rendered_frames());
893 std::vector<uint32> ssrcs; 889 std::vector<uint32> ssrcs;
894 ssrcs.push_back(1); 890 ssrcs.push_back(1);
895 ssrcs.push_back(2); 891 ssrcs.push_back(2);
896 network_interface_.SetConferenceMode(true, ssrcs); 892 network_interface_.SetConferenceMode(true, ssrcs);
897 EXPECT_TRUE(SendFrame()); 893 EXPECT_TRUE(SendFrame());
898 EXPECT_FRAME_ON_RENDERER_WAIT( 894 EXPECT_FRAME_ON_RENDERER_WAIT(
899 renderer1, 1, DefaultCodec().width, DefaultCodec().height, kTimeout); 895 renderer1, 1, DefaultCodec().width, DefaultCodec().height, kTimeout);
900 EXPECT_FRAME_ON_RENDERER_WAIT( 896 EXPECT_FRAME_ON_RENDERER_WAIT(
(...skipping 29 matching lines...) Expand all
930 EXPECT_TRUE(SetOneCodec(DefaultCodec())); 926 EXPECT_TRUE(SetOneCodec(DefaultCodec()));
931 cricket::VideoSendParameters parameters; 927 cricket::VideoSendParameters parameters;
932 parameters.codecs.push_back(DefaultCodec()); 928 parameters.codecs.push_back(DefaultCodec());
933 parameters.options.conference_mode.Set(true); 929 parameters.options.conference_mode.Set(true);
934 EXPECT_TRUE(channel_->SetSendParameters(parameters)); 930 EXPECT_TRUE(channel_->SetSendParameters(parameters));
935 EXPECT_TRUE(channel_->AddRecvStream( 931 EXPECT_TRUE(channel_->AddRecvStream(
936 cricket::StreamParams::CreateLegacy(kSsrc))); 932 cricket::StreamParams::CreateLegacy(kSsrc)));
937 EXPECT_TRUE(channel_->SetRenderer(kSsrc, &renderer_)); 933 EXPECT_TRUE(channel_->SetRenderer(kSsrc, &renderer_));
938 channel_->UpdateAspectRatio(640, 400); 934 channel_->UpdateAspectRatio(640, 400);
939 EXPECT_TRUE(SetSend(true)); 935 EXPECT_TRUE(SetSend(true));
940 EXPECT_TRUE(channel_->SetRender(true));
941 EXPECT_TRUE(SendFrame()); 936 EXPECT_TRUE(SendFrame());
942 EXPECT_TRUE_WAIT(NumRtpPackets() > 0, kTimeout); 937 EXPECT_TRUE_WAIT(NumRtpPackets() > 0, kTimeout);
943 EXPECT_FRAME_WAIT(1, DefaultCodec().width, DefaultCodec().height, kTimeout); 938 EXPECT_FRAME_WAIT(1, DefaultCodec().width, DefaultCodec().height, kTimeout);
944 939
945 // Add an additional capturer, and hook up a renderer to receive it. 940 // Add an additional capturer, and hook up a renderer to receive it.
946 cricket::FakeVideoRenderer renderer2; 941 cricket::FakeVideoRenderer renderer2;
947 rtc::scoped_ptr<cricket::FakeVideoCapturer> capturer( 942 rtc::scoped_ptr<cricket::FakeVideoCapturer> capturer(
948 CreateFakeVideoCapturer()); 943 CreateFakeVideoCapturer());
949 capturer->SetScreencast(true); 944 capturer->SetScreencast(true);
950 const int kTestWidth = 160; 945 const int kTestWidth = 160;
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
1047 void SetRenderer() { 1042 void SetRenderer() {
1048 uint8 data1[] = { 1043 uint8 data1[] = {
1049 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 1044 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1050 }; 1045 };
1051 1046
1052 rtc::Buffer packet1(data1, sizeof(data1)); 1047 rtc::Buffer packet1(data1, sizeof(data1));
1053 rtc::SetBE32(packet1.data() + 8, kSsrc); 1048 rtc::SetBE32(packet1.data() + 8, kSsrc);
1054 channel_->SetRenderer(kDefaultReceiveSsrc, NULL); 1049 channel_->SetRenderer(kDefaultReceiveSsrc, NULL);
1055 EXPECT_TRUE(SetDefaultCodec()); 1050 EXPECT_TRUE(SetDefaultCodec());
1056 EXPECT_TRUE(SetSend(true)); 1051 EXPECT_TRUE(SetSend(true));
1057 EXPECT_TRUE(channel_->SetRender(true));
1058 EXPECT_EQ(0, renderer_.num_rendered_frames()); 1052 EXPECT_EQ(0, renderer_.num_rendered_frames());
1059 channel_->OnPacketReceived(&packet1, rtc::PacketTime()); 1053 channel_->OnPacketReceived(&packet1, rtc::PacketTime());
1060 EXPECT_TRUE(channel_->SetRenderer(kDefaultReceiveSsrc, &renderer_)); 1054 EXPECT_TRUE(channel_->SetRenderer(kDefaultReceiveSsrc, &renderer_));
1061 EXPECT_TRUE(SendFrame()); 1055 EXPECT_TRUE(SendFrame());
1062 EXPECT_FRAME_WAIT(1, DefaultCodec().width, DefaultCodec().height, kTimeout); 1056 EXPECT_FRAME_WAIT(1, DefaultCodec().width, DefaultCodec().height, kTimeout);
1063 } 1057 }
1064 1058
1065 // Tests empty StreamParams is rejected. 1059 // Tests empty StreamParams is rejected.
1066 void RejectEmptyStreamParams() { 1060 void RejectEmptyStreamParams() {
1067 // Remove the send stream that was added during Setup. 1061 // Remove the send stream that was added during Setup.
1068 EXPECT_TRUE(channel_->RemoveSendStream(kSsrc)); 1062 EXPECT_TRUE(channel_->RemoveSendStream(kSsrc));
1069 1063
1070 cricket::StreamParams empty; 1064 cricket::StreamParams empty;
1071 EXPECT_FALSE(channel_->AddSendStream(empty)); 1065 EXPECT_FALSE(channel_->AddSendStream(empty));
1072 EXPECT_TRUE(channel_->AddSendStream( 1066 EXPECT_TRUE(channel_->AddSendStream(
1073 cricket::StreamParams::CreateLegacy(789u))); 1067 cricket::StreamParams::CreateLegacy(789u)));
1074 } 1068 }
1075 1069
1076 // Tests setting up and configuring a send stream. 1070 // Tests setting up and configuring a send stream.
1077 void AddRemoveSendStreams() { 1071 void AddRemoveSendStreams() {
1078 EXPECT_TRUE(SetOneCodec(DefaultCodec())); 1072 EXPECT_TRUE(SetOneCodec(DefaultCodec()));
1079 EXPECT_TRUE(SetSend(true)); 1073 EXPECT_TRUE(SetSend(true));
1080 EXPECT_TRUE(channel_->SetRender(true));
1081 EXPECT_TRUE(channel_->SetRenderer(kDefaultReceiveSsrc, &renderer_)); 1074 EXPECT_TRUE(channel_->SetRenderer(kDefaultReceiveSsrc, &renderer_));
1082 EXPECT_TRUE(SendFrame()); 1075 EXPECT_TRUE(SendFrame());
1083 EXPECT_FRAME_WAIT(1, DefaultCodec().width, DefaultCodec().height, kTimeout); 1076 EXPECT_FRAME_WAIT(1, DefaultCodec().width, DefaultCodec().height, kTimeout);
1084 EXPECT_GT(NumRtpPackets(), 0); 1077 EXPECT_GT(NumRtpPackets(), 0);
1085 uint32 ssrc = 0; 1078 uint32 ssrc = 0;
1086 size_t last_packet = NumRtpPackets() - 1; 1079 size_t last_packet = NumRtpPackets() - 1;
1087 rtc::scoped_ptr<const rtc::Buffer> 1080 rtc::scoped_ptr<const rtc::Buffer>
1088 p(GetRtpPacket(static_cast<int>(last_packet))); 1081 p(GetRtpPacket(static_cast<int>(last_packet)));
1089 ParseRtpPacket(p.get(), NULL, NULL, NULL, NULL, &ssrc, NULL); 1082 ParseRtpPacket(p.get(), NULL, NULL, NULL, NULL, &ssrc, NULL);
1090 EXPECT_EQ(kSsrc, ssrc); 1083 EXPECT_EQ(kSsrc, ssrc);
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
1196 EXPECT_FALSE(channel_->GetRenderer(1, &renderer)); 1189 EXPECT_FALSE(channel_->GetRenderer(1, &renderer));
1197 EXPECT_FALSE(channel_->GetRenderer(2, &renderer)); 1190 EXPECT_FALSE(channel_->GetRenderer(2, &renderer));
1198 } 1191 }
1199 1192
1200 // Test that no frames are rendered after the receive stream have been 1193 // Test that no frames are rendered after the receive stream have been
1201 // removed. 1194 // removed.
1202 void AddRemoveRecvStreamAndRender() { 1195 void AddRemoveRecvStreamAndRender() {
1203 cricket::FakeVideoRenderer renderer1; 1196 cricket::FakeVideoRenderer renderer1;
1204 EXPECT_TRUE(SetDefaultCodec()); 1197 EXPECT_TRUE(SetDefaultCodec());
1205 EXPECT_TRUE(SetSend(true)); 1198 EXPECT_TRUE(SetSend(true));
1206 EXPECT_TRUE(channel_->SetRender(true));
1207 EXPECT_TRUE(channel_->AddRecvStream( 1199 EXPECT_TRUE(channel_->AddRecvStream(
1208 cricket::StreamParams::CreateLegacy(kSsrc))); 1200 cricket::StreamParams::CreateLegacy(kSsrc)));
1209 EXPECT_TRUE(channel_->SetRenderer(kSsrc, &renderer1)); 1201 EXPECT_TRUE(channel_->SetRenderer(kSsrc, &renderer1));
1210 1202
1211 EXPECT_TRUE(SendFrame()); 1203 EXPECT_TRUE(SendFrame());
1212 EXPECT_FRAME_ON_RENDERER_WAIT( 1204 EXPECT_FRAME_ON_RENDERER_WAIT(
1213 renderer1, 1, DefaultCodec().width, DefaultCodec().height, kTimeout); 1205 renderer1, 1, DefaultCodec().width, DefaultCodec().height, kTimeout);
1214 EXPECT_TRUE(channel_->RemoveRecvStream(kSsrc)); 1206 EXPECT_TRUE(channel_->RemoveRecvStream(kSsrc));
1215 // Send three more frames. This is to avoid that the test might be flaky 1207 // Send three more frames. This is to avoid that the test might be flaky
1216 // due to frame dropping. 1208 // due to frame dropping.
(...skipping 24 matching lines...) Expand all
1241 1233
1242 // Tests the behavior of incoming streams in a conference scenario. 1234 // Tests the behavior of incoming streams in a conference scenario.
1243 void SimulateConference() { 1235 void SimulateConference() {
1244 cricket::FakeVideoRenderer renderer1, renderer2; 1236 cricket::FakeVideoRenderer renderer1, renderer2;
1245 EXPECT_TRUE(SetDefaultCodec()); 1237 EXPECT_TRUE(SetDefaultCodec());
1246 cricket::VideoSendParameters parameters; 1238 cricket::VideoSendParameters parameters;
1247 parameters.codecs.push_back(DefaultCodec()); 1239 parameters.codecs.push_back(DefaultCodec());
1248 parameters.options.conference_mode.Set(true); 1240 parameters.options.conference_mode.Set(true);
1249 EXPECT_TRUE(channel_->SetSendParameters(parameters)); 1241 EXPECT_TRUE(channel_->SetSendParameters(parameters));
1250 EXPECT_TRUE(SetSend(true)); 1242 EXPECT_TRUE(SetSend(true));
1251 EXPECT_TRUE(channel_->SetRender(true));
1252 EXPECT_TRUE(channel_->AddRecvStream( 1243 EXPECT_TRUE(channel_->AddRecvStream(
1253 cricket::StreamParams::CreateLegacy(1))); 1244 cricket::StreamParams::CreateLegacy(1)));
1254 EXPECT_TRUE(channel_->AddRecvStream( 1245 EXPECT_TRUE(channel_->AddRecvStream(
1255 cricket::StreamParams::CreateLegacy(2))); 1246 cricket::StreamParams::CreateLegacy(2)));
1256 EXPECT_TRUE(channel_->SetRenderer(1, &renderer1)); 1247 EXPECT_TRUE(channel_->SetRenderer(1, &renderer1));
1257 EXPECT_TRUE(channel_->SetRenderer(2, &renderer2)); 1248 EXPECT_TRUE(channel_->SetRenderer(2, &renderer2));
1258 EXPECT_EQ(0, renderer1.num_rendered_frames()); 1249 EXPECT_EQ(0, renderer1.num_rendered_frames());
1259 EXPECT_EQ(0, renderer2.num_rendered_frames()); 1250 EXPECT_EQ(0, renderer2.num_rendered_frames());
1260 std::vector<uint32> ssrcs; 1251 std::vector<uint32> ssrcs;
1261 ssrcs.push_back(1); 1252 ssrcs.push_back(1);
(...skipping 16 matching lines...) Expand all
1278 } 1269 }
1279 1270
1280 // Tests that we can add and remove capturers and frames are sent out properly 1271 // Tests that we can add and remove capturers and frames are sent out properly
1281 void AddRemoveCapturer() { 1272 void AddRemoveCapturer() {
1282 cricket::VideoCodec codec = DefaultCodec(); 1273 cricket::VideoCodec codec = DefaultCodec();
1283 codec.width = 320; 1274 codec.width = 320;
1284 codec.height = 240; 1275 codec.height = 240;
1285 const int time_between_send = TimeBetweenSend(codec); 1276 const int time_between_send = TimeBetweenSend(codec);
1286 EXPECT_TRUE(SetOneCodec(codec)); 1277 EXPECT_TRUE(SetOneCodec(codec));
1287 EXPECT_TRUE(SetSend(true)); 1278 EXPECT_TRUE(SetSend(true));
1288 EXPECT_TRUE(channel_->SetRender(true));
1289 EXPECT_TRUE(channel_->SetRenderer(kDefaultReceiveSsrc, &renderer_)); 1279 EXPECT_TRUE(channel_->SetRenderer(kDefaultReceiveSsrc, &renderer_));
1290 EXPECT_EQ(0, renderer_.num_rendered_frames()); 1280 EXPECT_EQ(0, renderer_.num_rendered_frames());
1291 EXPECT_TRUE(SendFrame()); 1281 EXPECT_TRUE(SendFrame());
1292 EXPECT_FRAME_WAIT(1, codec.width, codec.height, kTimeout); 1282 EXPECT_FRAME_WAIT(1, codec.width, codec.height, kTimeout);
1293 rtc::scoped_ptr<cricket::FakeVideoCapturer> capturer( 1283 rtc::scoped_ptr<cricket::FakeVideoCapturer> capturer(
1294 CreateFakeVideoCapturer()); 1284 CreateFakeVideoCapturer());
1295 capturer->SetScreencast(true); 1285 capturer->SetScreencast(true);
1296 cricket::VideoFormat format(480, 360, 1286 cricket::VideoFormat format(480, 360,
1297 cricket::VideoFormat::FpsToInterval(30), 1287 cricket::VideoFormat::FpsToInterval(30),
1298 cricket::FOURCC_I420); 1288 cricket::FOURCC_I420);
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
1340 EXPECT_TRUE(capturer->CaptureCustomFrame(format.width, format.height, 1330 EXPECT_TRUE(capturer->CaptureCustomFrame(format.width, format.height,
1341 cricket::FOURCC_I420)); 1331 cricket::FOURCC_I420));
1342 } 1332 }
1343 } 1333 }
1344 1334
1345 // Tests that if RemoveCapturer is called without a capturer ever being 1335 // Tests that if RemoveCapturer is called without a capturer ever being
1346 // added, the plugin shouldn't crash (and no black frame should be sent). 1336 // added, the plugin shouldn't crash (and no black frame should be sent).
1347 void RemoveCapturerWithoutAdd() { 1337 void RemoveCapturerWithoutAdd() {
1348 EXPECT_TRUE(SetOneCodec(DefaultCodec())); 1338 EXPECT_TRUE(SetOneCodec(DefaultCodec()));
1349 EXPECT_TRUE(SetSend(true)); 1339 EXPECT_TRUE(SetSend(true));
1350 EXPECT_TRUE(channel_->SetRender(true));
1351 EXPECT_TRUE(channel_->SetRenderer(kDefaultReceiveSsrc, &renderer_)); 1340 EXPECT_TRUE(channel_->SetRenderer(kDefaultReceiveSsrc, &renderer_));
1352 EXPECT_EQ(0, renderer_.num_rendered_frames()); 1341 EXPECT_EQ(0, renderer_.num_rendered_frames());
1353 EXPECT_TRUE(SendFrame()); 1342 EXPECT_TRUE(SendFrame());
1354 EXPECT_FRAME_WAIT(1, 640, 400, kTimeout); 1343 EXPECT_FRAME_WAIT(1, 640, 400, kTimeout);
1355 // Wait for one frame so they don't get dropped because we send frames too 1344 // Wait for one frame so they don't get dropped because we send frames too
1356 // tightly. 1345 // tightly.
1357 rtc::Thread::Current()->ProcessMessages(30); 1346 rtc::Thread::Current()->ProcessMessages(30);
1358 // Remove the capturer. 1347 // Remove the capturer.
1359 EXPECT_TRUE(channel_->SetCapturer(kSsrc, NULL)); 1348 EXPECT_TRUE(channel_->SetCapturer(kSsrc, NULL));
1360 // Wait for one black frame for removing the capturer. 1349 // Wait for one black frame for removing the capturer.
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
1405 capturer2->SetScreencast(true); 1394 capturer2->SetScreencast(true);
1406 EXPECT_EQ(cricket::CS_RUNNING, capturer2->Start(capture_format)); 1395 EXPECT_EQ(cricket::CS_RUNNING, capturer2->Start(capture_format));
1407 // State for all the streams. 1396 // State for all the streams.
1408 EXPECT_TRUE(SetOneCodec(DefaultCodec())); 1397 EXPECT_TRUE(SetOneCodec(DefaultCodec()));
1409 // A limitation in the lmi implementation requires that SetCapturer() is 1398 // A limitation in the lmi implementation requires that SetCapturer() is
1410 // called after SetOneCodec(). 1399 // called after SetOneCodec().
1411 // TODO(hellner): this seems like an unnecessary constraint, fix it. 1400 // TODO(hellner): this seems like an unnecessary constraint, fix it.
1412 EXPECT_TRUE(channel_->SetCapturer(1, capturer1.get())); 1401 EXPECT_TRUE(channel_->SetCapturer(1, capturer1.get()));
1413 EXPECT_TRUE(channel_->SetCapturer(2, capturer2.get())); 1402 EXPECT_TRUE(channel_->SetCapturer(2, capturer2.get()));
1414 EXPECT_TRUE(SetSend(true)); 1403 EXPECT_TRUE(SetSend(true));
1415 EXPECT_TRUE(channel_->SetRender(true));
1416 // Test capturer associated with engine. 1404 // Test capturer associated with engine.
1417 const int kTestWidth = 160; 1405 const int kTestWidth = 160;
1418 const int kTestHeight = 120; 1406 const int kTestHeight = 120;
1419 EXPECT_TRUE(capturer1->CaptureCustomFrame( 1407 EXPECT_TRUE(capturer1->CaptureCustomFrame(
1420 kTestWidth, kTestHeight, cricket::FOURCC_I420)); 1408 kTestWidth, kTestHeight, cricket::FOURCC_I420));
1421 EXPECT_FRAME_ON_RENDERER_WAIT( 1409 EXPECT_FRAME_ON_RENDERER_WAIT(
1422 renderer1, 1, kTestWidth, kTestHeight, kTimeout); 1410 renderer1, 1, kTestWidth, kTestHeight, kTimeout);
1423 // Capture a frame with additional capturer2, frames should be received 1411 // Capture a frame with additional capturer2, frames should be received
1424 EXPECT_TRUE(capturer2->CaptureCustomFrame( 1412 EXPECT_TRUE(capturer2->CaptureCustomFrame(
1425 kTestWidth, kTestHeight, cricket::FOURCC_I420)); 1413 kTestWidth, kTestHeight, cricket::FOURCC_I420));
(...skipping 16 matching lines...) Expand all
1442 const int kScaledHeight = 2500; 1430 const int kScaledHeight = 2500;
1443 1431
1444 cricket::VideoCodec codec(DefaultCodec()); 1432 cricket::VideoCodec codec(DefaultCodec());
1445 EXPECT_TRUE(SetOneCodec(codec)); 1433 EXPECT_TRUE(SetOneCodec(codec));
1446 EXPECT_TRUE(SetSend(true)); 1434 EXPECT_TRUE(SetSend(true));
1447 1435
1448 cricket::FakeVideoRenderer renderer; 1436 cricket::FakeVideoRenderer renderer;
1449 EXPECT_TRUE(channel_->AddRecvStream( 1437 EXPECT_TRUE(channel_->AddRecvStream(
1450 cricket::StreamParams::CreateLegacy(kSsrc))); 1438 cricket::StreamParams::CreateLegacy(kSsrc)));
1451 EXPECT_TRUE(channel_->SetRenderer(kSsrc, &renderer)); 1439 EXPECT_TRUE(channel_->SetRenderer(kSsrc, &renderer));
1452 EXPECT_TRUE(channel_->SetRender(true));
1453 EXPECT_EQ(0, renderer.num_rendered_frames()); 1440 EXPECT_EQ(0, renderer.num_rendered_frames());
1454 1441
1455 EXPECT_TRUE(SendFrame()); 1442 EXPECT_TRUE(SendFrame());
1456 EXPECT_GT_FRAME_ON_RENDERER_WAIT( 1443 EXPECT_GT_FRAME_ON_RENDERER_WAIT(
1457 renderer, 1, codec.width, codec.height, kTimeout); 1444 renderer, 1, codec.width, codec.height, kTimeout);
1458 1445
1459 // Registering an external capturer is currently the same as screen casting 1446 // Registering an external capturer is currently the same as screen casting
1460 // (update the test when this changes). 1447 // (update the test when this changes).
1461 rtc::scoped_ptr<cricket::FakeVideoCapturer> capturer( 1448 rtc::scoped_ptr<cricket::FakeVideoCapturer> capturer(
1462 CreateFakeVideoCapturer()); 1449 CreateFakeVideoCapturer());
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
1505 EXPECT_FRAME_WAIT(2, codec.width, codec.height, kTimeout); 1492 EXPECT_FRAME_WAIT(2, codec.width, codec.height, kTimeout);
1506 } 1493 }
1507 // Tests that we can drop all frames properly. 1494 // Tests that we can drop all frames properly.
1508 void AdaptDropAllFrames() { 1495 void AdaptDropAllFrames() {
1509 // Set the channel codec's resolution to 0, which will require the adapter 1496 // Set the channel codec's resolution to 0, which will require the adapter
1510 // to drop all frames. 1497 // to drop all frames.
1511 cricket::VideoCodec codec(DefaultCodec()); 1498 cricket::VideoCodec codec(DefaultCodec());
1512 codec.width = codec.height = codec.framerate = 0; 1499 codec.width = codec.height = codec.framerate = 0;
1513 EXPECT_TRUE(SetOneCodec(codec)); 1500 EXPECT_TRUE(SetOneCodec(codec));
1514 EXPECT_TRUE(SetSend(true)); 1501 EXPECT_TRUE(SetSend(true));
1515 EXPECT_TRUE(channel_->SetRender(true));
1516 EXPECT_TRUE(channel_->SetRenderer(kDefaultReceiveSsrc, &renderer_)); 1502 EXPECT_TRUE(channel_->SetRenderer(kDefaultReceiveSsrc, &renderer_));
1517 EXPECT_EQ(0, renderer_.num_rendered_frames()); 1503 EXPECT_EQ(0, renderer_.num_rendered_frames());
1518 EXPECT_TRUE(SendFrame()); 1504 EXPECT_TRUE(SendFrame());
1519 EXPECT_TRUE(SendFrame()); 1505 EXPECT_TRUE(SendFrame());
1520 rtc::Thread::Current()->ProcessMessages(500); 1506 rtc::Thread::Current()->ProcessMessages(500);
1521 EXPECT_EQ(0, renderer_.num_rendered_frames()); 1507 EXPECT_EQ(0, renderer_.num_rendered_frames());
1522 } 1508 }
1523 // Tests that we can reduce the frame rate on demand properly. 1509 // Tests that we can reduce the frame rate on demand properly.
1524 // TODO(fbarchard): This test is flakey on pulse. Fix and re-enable 1510 // TODO(fbarchard): This test is flakey on pulse. Fix and re-enable
1525 void AdaptFramerate() { 1511 void AdaptFramerate() {
1526 cricket::VideoCodec codec(DefaultCodec()); 1512 cricket::VideoCodec codec(DefaultCodec());
1527 int frame_count = 0; 1513 int frame_count = 0;
1528 // The capturer runs at 30 fps. The channel requires 30 fps. 1514 // The capturer runs at 30 fps. The channel requires 30 fps.
1529 EXPECT_TRUE(SetOneCodec(codec)); 1515 EXPECT_TRUE(SetOneCodec(codec));
1530 EXPECT_TRUE(SetSend(true)); 1516 EXPECT_TRUE(SetSend(true));
1531 EXPECT_TRUE(channel_->SetRender(true));
1532 EXPECT_EQ(frame_count, renderer_.num_rendered_frames()); 1517 EXPECT_EQ(frame_count, renderer_.num_rendered_frames());
1533 EXPECT_TRUE(WaitAndSendFrame(0)); // Should be rendered. 1518 EXPECT_TRUE(WaitAndSendFrame(0)); // Should be rendered.
1534 EXPECT_TRUE(WaitAndSendFrame(30)); // Should be rendered. 1519 EXPECT_TRUE(WaitAndSendFrame(30)); // Should be rendered.
1535 frame_count += 2; 1520 frame_count += 2;
1536 EXPECT_FRAME_WAIT(frame_count, codec.width, codec.height, kTimeout); 1521 EXPECT_FRAME_WAIT(frame_count, codec.width, codec.height, kTimeout);
1537 rtc::scoped_ptr<const rtc::Buffer> p(GetRtpPacket(0)); 1522 rtc::scoped_ptr<const rtc::Buffer> p(GetRtpPacket(0));
1538 EXPECT_EQ(codec.id, GetPayloadType(p.get())); 1523 EXPECT_EQ(codec.id, GetPayloadType(p.get()));
1539 1524
1540 // The channel requires 15 fps. 1525 // The channel requires 15 fps.
1541 codec.framerate = 15; 1526 codec.framerate = 15;
(...skipping 25 matching lines...) Expand all
1567 frame_count += 2; 1552 frame_count += 2;
1568 EXPECT_EQ_WAIT(frame_count, renderer_.num_rendered_frames(), kTimeout); 1553 EXPECT_EQ_WAIT(frame_count, renderer_.num_rendered_frames(), kTimeout);
1569 } 1554 }
1570 // Tests that adapted frames won't be upscaled to a higher resolution. 1555 // Tests that adapted frames won't be upscaled to a higher resolution.
1571 void SendsLowerResolutionOnSmallerFrames() { 1556 void SendsLowerResolutionOnSmallerFrames() {
1572 cricket::VideoCodec codec = DefaultCodec(); 1557 cricket::VideoCodec codec = DefaultCodec();
1573 codec.width = 320; 1558 codec.width = 320;
1574 codec.height = 240; 1559 codec.height = 240;
1575 EXPECT_TRUE(SetOneCodec(codec)); 1560 EXPECT_TRUE(SetOneCodec(codec));
1576 EXPECT_TRUE(SetSend(true)); 1561 EXPECT_TRUE(SetSend(true));
1577 EXPECT_TRUE(channel_->SetRender(true));
1578 EXPECT_TRUE(channel_->SetRenderer(kDefaultReceiveSsrc, &renderer_)); 1562 EXPECT_TRUE(channel_->SetRenderer(kDefaultReceiveSsrc, &renderer_));
1579 EXPECT_EQ(0, renderer_.num_rendered_frames()); 1563 EXPECT_EQ(0, renderer_.num_rendered_frames());
1580 EXPECT_TRUE(SendFrame()); 1564 EXPECT_TRUE(SendFrame());
1581 EXPECT_FRAME_WAIT(1, codec.width, codec.height, kTimeout); 1565 EXPECT_FRAME_WAIT(1, codec.width, codec.height, kTimeout);
1582 1566
1583 // Check that we send smaller frames at the new resolution. 1567 // Check that we send smaller frames at the new resolution.
1584 EXPECT_TRUE(rtc::Thread::Current()->ProcessMessages(33)); 1568 EXPECT_TRUE(rtc::Thread::Current()->ProcessMessages(33));
1585 EXPECT_TRUE(video_capturer_->CaptureCustomFrame( 1569 EXPECT_TRUE(video_capturer_->CaptureCustomFrame(
1586 codec.width / 2, codec.height / 2, cricket::FOURCC_I420)); 1570 codec.width / 2, codec.height / 2, cricket::FOURCC_I420));
1587 EXPECT_FRAME_WAIT(2, codec.width / 2, codec.height / 2, kTimeout); 1571 EXPECT_FRAME_WAIT(2, codec.width / 2, codec.height / 2, kTimeout);
(...skipping 29 matching lines...) Expand all
1617 EXPECT_TRUE(SendFrame()); 1601 EXPECT_TRUE(SendFrame());
1618 rtc::Thread::Current()->ProcessMessages(500); 1602 rtc::Thread::Current()->ProcessMessages(500);
1619 EXPECT_EQ(frame_count, renderer_.num_rendered_frames()); 1603 EXPECT_EQ(frame_count, renderer_.num_rendered_frames());
1620 } 1604 }
1621 // Test that setting send stream format to 0x0 resolution will result in 1605 // Test that setting send stream format to 0x0 resolution will result in
1622 // frames being dropped. 1606 // frames being dropped.
1623 void SetSendStreamFormat0x0() { 1607 void SetSendStreamFormat0x0() {
1624 EXPECT_TRUE(SetOneCodec(DefaultCodec())); 1608 EXPECT_TRUE(SetOneCodec(DefaultCodec()));
1625 EXPECT_TRUE(SetSendStreamFormat(kSsrc, DefaultCodec())); 1609 EXPECT_TRUE(SetSendStreamFormat(kSsrc, DefaultCodec()));
1626 EXPECT_TRUE(SetSend(true)); 1610 EXPECT_TRUE(SetSend(true));
1627 EXPECT_TRUE(channel_->SetRender(true));
1628 EXPECT_TRUE(channel_->SetRenderer(kDefaultReceiveSsrc, &renderer_)); 1611 EXPECT_TRUE(channel_->SetRenderer(kDefaultReceiveSsrc, &renderer_));
1629 EXPECT_EQ(0, renderer_.num_rendered_frames()); 1612 EXPECT_EQ(0, renderer_.num_rendered_frames());
1630 // This frame should be received. 1613 // This frame should be received.
1631 EXPECT_TRUE(SendFrame()); 1614 EXPECT_TRUE(SendFrame());
1632 EXPECT_FRAME_WAIT(1, DefaultCodec().width, DefaultCodec().height, kTimeout); 1615 EXPECT_FRAME_WAIT(1, DefaultCodec().width, DefaultCodec().height, kTimeout);
1633 const int64 interval = cricket::VideoFormat::FpsToInterval( 1616 const int64 interval = cricket::VideoFormat::FpsToInterval(
1634 DefaultCodec().framerate); 1617 DefaultCodec().framerate);
1635 cricket::VideoFormat format( 1618 cricket::VideoFormat format(
1636 0, 1619 0,
1637 0, 1620 0,
(...skipping 11 matching lines...) Expand all
1649 void MuteStream() { 1632 void MuteStream() {
1650 EXPECT_TRUE(SetDefaultCodec()); 1633 EXPECT_TRUE(SetDefaultCodec());
1651 cricket::FakeVideoCapturer video_capturer; 1634 cricket::FakeVideoCapturer video_capturer;
1652 video_capturer.Start( 1635 video_capturer.Start(
1653 cricket::VideoFormat( 1636 cricket::VideoFormat(
1654 640, 480, 1637 640, 480,
1655 cricket::VideoFormat::FpsToInterval(30), 1638 cricket::VideoFormat::FpsToInterval(30),
1656 cricket::FOURCC_I420)); 1639 cricket::FOURCC_I420));
1657 EXPECT_TRUE(channel_->SetCapturer(kSsrc, &video_capturer)); 1640 EXPECT_TRUE(channel_->SetCapturer(kSsrc, &video_capturer));
1658 EXPECT_TRUE(SetSend(true)); 1641 EXPECT_TRUE(SetSend(true));
1659 EXPECT_TRUE(channel_->SetRender(true));
1660 EXPECT_TRUE(channel_->SetRenderer(kDefaultReceiveSsrc, &renderer_)); 1642 EXPECT_TRUE(channel_->SetRenderer(kDefaultReceiveSsrc, &renderer_));
1661 EXPECT_EQ(0, renderer_.num_rendered_frames()); 1643 EXPECT_EQ(0, renderer_.num_rendered_frames());
1662 // Mute the channel and expect black output frame. 1644 // Mute the channel and expect black output frame.
1663 int frame_count = 0; 1645 int frame_count = 0;
1664 EXPECT_TRUE(channel_->SetVideoSend(kSsrc, true, nullptr)); 1646 EXPECT_TRUE(channel_->SetVideoSend(kSsrc, true, nullptr));
1665 EXPECT_TRUE(video_capturer.CaptureFrame()); 1647 EXPECT_TRUE(video_capturer.CaptureFrame());
1666 ++frame_count; 1648 ++frame_count;
1667 EXPECT_EQ_WAIT(frame_count, renderer_.num_rendered_frames(), kTimeout); 1649 EXPECT_EQ_WAIT(frame_count, renderer_.num_rendered_frames(), kTimeout);
1668 EXPECT_TRUE(renderer_.black_frame()); 1650 EXPECT_TRUE(renderer_.black_frame());
1669 // Unmute the channel and expect non-black output frame. 1651 // Unmute the channel and expect non-black output frame.
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
1763 } 1745 }
1764 1746
1765 // Tests that we can send and receive frames with early receive. 1747 // Tests that we can send and receive frames with early receive.
1766 void TwoStreamsSendAndUnsignalledRecv(const cricket::VideoCodec& codec) { 1748 void TwoStreamsSendAndUnsignalledRecv(const cricket::VideoCodec& codec) {
1767 cricket::VideoSendParameters parameters; 1749 cricket::VideoSendParameters parameters;
1768 parameters.options.conference_mode.Set(true); 1750 parameters.options.conference_mode.Set(true);
1769 parameters.options.unsignalled_recv_stream_limit.Set(1); 1751 parameters.options.unsignalled_recv_stream_limit.Set(1);
1770 EXPECT_TRUE(channel_->SetSendParameters(parameters)); 1752 EXPECT_TRUE(channel_->SetSendParameters(parameters));
1771 SetUpSecondStreamWithNoRecv(); 1753 SetUpSecondStreamWithNoRecv();
1772 // Test sending and receiving on first stream. 1754 // Test sending and receiving on first stream.
1773 EXPECT_TRUE(channel_->SetRender(true));
1774 Send(codec); 1755 Send(codec);
1775 EXPECT_EQ_WAIT(2, NumRtpPackets(), kTimeout); 1756 EXPECT_EQ_WAIT(2, NumRtpPackets(), kTimeout);
1776 EXPECT_EQ_WAIT(1, renderer_.num_rendered_frames(), kTimeout); 1757 EXPECT_EQ_WAIT(1, renderer_.num_rendered_frames(), kTimeout);
1777 // The first send is not expected to yield frames, because the ssrc 1758 // The first send is not expected to yield frames, because the ssrc
1778 // is not signalled yet. With unsignalled recv enabled, we will drop frames 1759 // is not signalled yet. With unsignalled recv enabled, we will drop frames
1779 // instead of packets. 1760 // instead of packets.
1780 EXPECT_EQ(0, renderer2_.num_rendered_frames()); 1761 EXPECT_EQ(0, renderer2_.num_rendered_frames());
1781 // Give a chance for the decoder to process before adding the receiver. 1762 // Give a chance for the decoder to process before adding the receiver.
1782 rtc::Thread::Current()->ProcessMessages(100); 1763 rtc::Thread::Current()->ProcessMessages(100);
1783 // Test sending and receiving on second stream. 1764 // Test sending and receiving on second stream.
(...skipping 14 matching lines...) Expand all
1798 // receive rtp packets on unsignalled streams. Removal of a unsignalled recv 1779 // receive rtp packets on unsignalled streams. Removal of a unsignalled recv
1799 // stream is successful. 1780 // stream is successful.
1800 void TwoStreamsAddAndRemoveUnsignalledRecv( 1781 void TwoStreamsAddAndRemoveUnsignalledRecv(
1801 const cricket::VideoCodec& codec) { 1782 const cricket::VideoCodec& codec) {
1802 cricket::VideoOptions vmo; 1783 cricket::VideoOptions vmo;
1803 vmo.conference_mode.Set(true); 1784 vmo.conference_mode.Set(true);
1804 vmo.unsignalled_recv_stream_limit.Set(1); 1785 vmo.unsignalled_recv_stream_limit.Set(1);
1805 EXPECT_TRUE(channel_->SetOptions(vmo)); 1786 EXPECT_TRUE(channel_->SetOptions(vmo));
1806 SetUpSecondStreamWithNoRecv(); 1787 SetUpSecondStreamWithNoRecv();
1807 // Sending and receiving on first stream. 1788 // Sending and receiving on first stream.
1808 EXPECT_TRUE(channel_->SetRender(true));
1809 Send(codec); 1789 Send(codec);
1810 EXPECT_EQ_WAIT(2, NumRtpPackets(), kTimeout); 1790 EXPECT_EQ_WAIT(2, NumRtpPackets(), kTimeout);
1811 EXPECT_EQ_WAIT(1, renderer_.num_rendered_frames(), kTimeout); 1791 EXPECT_EQ_WAIT(1, renderer_.num_rendered_frames(), kTimeout);
1812 // The first send is not expected to yield frames, because the ssrc 1792 // The first send is not expected to yield frames, because the ssrc
1813 // is no signalled yet. With unsignalled recv enabled, we will drop frames 1793 // is no signalled yet. With unsignalled recv enabled, we will drop frames
1814 // instead of packets. 1794 // instead of packets.
1815 EXPECT_EQ(0, renderer2_.num_rendered_frames()); 1795 EXPECT_EQ(0, renderer2_.num_rendered_frames());
1816 // Give a chance for the decoder to process before adding the receiver. 1796 // Give a chance for the decoder to process before adding the receiver.
1817 rtc::Thread::Current()->ProcessMessages(100); 1797 rtc::Thread::Current()->ProcessMessages(100);
1818 // Ensure that we can remove the unsignalled recv stream that was created 1798 // Ensure that we can remove the unsignalled recv stream that was created
1819 // when the first video packet with unsignalled recv ssrc is received. 1799 // when the first video packet with unsignalled recv ssrc is received.
1820 EXPECT_TRUE(channel_->RemoveRecvStream(kSsrc + 2)); 1800 EXPECT_TRUE(channel_->RemoveRecvStream(kSsrc + 2));
1821 } 1801 }
1822 1802
1823 const rtc::scoped_ptr<webrtc::Call> call_; 1803 const rtc::scoped_ptr<webrtc::Call> call_;
1824 VideoEngineOverride<E> engine_; 1804 VideoEngineOverride<E> engine_;
1825 rtc::scoped_ptr<cricket::FakeVideoCapturer> video_capturer_; 1805 rtc::scoped_ptr<cricket::FakeVideoCapturer> video_capturer_;
1826 rtc::scoped_ptr<cricket::FakeVideoCapturer> video_capturer_2_; 1806 rtc::scoped_ptr<cricket::FakeVideoCapturer> video_capturer_2_;
1827 rtc::scoped_ptr<C> channel_; 1807 rtc::scoped_ptr<C> channel_;
1828 cricket::FakeNetworkInterface network_interface_; 1808 cricket::FakeNetworkInterface network_interface_;
1829 cricket::FakeVideoRenderer renderer_; 1809 cricket::FakeVideoRenderer renderer_;
1830 cricket::VideoMediaChannel::Error media_error_; 1810 cricket::VideoMediaChannel::Error media_error_;
1831 1811
1832 // Used by test cases where 2 streams are run on the same channel. 1812 // Used by test cases where 2 streams are run on the same channel.
1833 cricket::FakeVideoRenderer renderer2_; 1813 cricket::FakeVideoRenderer renderer2_;
1834 }; 1814 };
1835 1815
1836 #endif // TALK_MEDIA_BASE_VIDEOENGINE_UNITTEST_H_ NOLINT 1816 #endif // TALK_MEDIA_BASE_VIDEOENGINE_UNITTEST_H_ NOLINT
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698