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

Side by Side Diff: webrtc/media/engine/webrtcvideoengine2_unittest.cc

Issue 2826263004: Move responsibility for RTP header extensions on video receive. (Closed)
Patch Set: Created 3 years, 8 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 * Copyright (c) 2004 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2004 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 1093 matching lines...) Expand 10 before | Expand all | Expand 10 after
1104 EXPECT_TRUE(channel_->SetSendParameters(parameters)); 1104 EXPECT_TRUE(channel_->SetSendParameters(parameters));
1105 FakeVideoSendStream* send_stream = 1105 FakeVideoSendStream* send_stream =
1106 AddSendStream(cricket::StreamParams::CreateLegacy(123)); 1106 AddSendStream(cricket::StreamParams::CreateLegacy(123));
1107 1107
1108 // Verify the send extension id. 1108 // Verify the send extension id.
1109 ASSERT_EQ(1u, send_stream->GetConfig().rtp.extensions.size()); 1109 ASSERT_EQ(1u, send_stream->GetConfig().rtp.extensions.size());
1110 EXPECT_EQ(id, send_stream->GetConfig().rtp.extensions[0].id); 1110 EXPECT_EQ(id, send_stream->GetConfig().rtp.extensions[0].id);
1111 EXPECT_EQ(ext_uri, send_stream->GetConfig().rtp.extensions[0].uri); 1111 EXPECT_EQ(ext_uri, send_stream->GetConfig().rtp.extensions[0].uri);
1112 // Verify call with same set of extensions returns true. 1112 // Verify call with same set of extensions returns true.
1113 EXPECT_TRUE(channel_->SetSendParameters(parameters)); 1113 EXPECT_TRUE(channel_->SetSendParameters(parameters));
1114 #if 0
1114 // Verify that SetSendRtpHeaderExtensions doesn't implicitly add them for 1115 // Verify that SetSendRtpHeaderExtensions doesn't implicitly add them for
1115 // receivers. 1116 // receivers.
1116 EXPECT_TRUE(AddRecvStream(cricket::StreamParams::CreateLegacy(123)) 1117 EXPECT_TRUE(AddRecvStream(cricket::StreamParams::CreateLegacy(123))
1117 ->GetConfig() 1118 ->GetConfig()
1118 .rtp.extensions.empty()); 1119 .rtp.extensions.empty());
1119 1120 #endif
1120 // Verify that existing RTP header extensions can be removed. 1121 // Verify that existing RTP header extensions can be removed.
1121 EXPECT_TRUE(channel_->SetSendParameters(send_parameters_)); 1122 EXPECT_TRUE(channel_->SetSendParameters(send_parameters_));
1122 ASSERT_EQ(1u, fake_call_->GetVideoSendStreams().size()); 1123 ASSERT_EQ(1u, fake_call_->GetVideoSendStreams().size());
1123 send_stream = fake_call_->GetVideoSendStreams()[0]; 1124 send_stream = fake_call_->GetVideoSendStreams()[0];
1124 EXPECT_TRUE(send_stream->GetConfig().rtp.extensions.empty()); 1125 EXPECT_TRUE(send_stream->GetConfig().rtp.extensions.empty());
1125 1126
1126 // Verify that adding receive RTP header extensions adds them for existing 1127 // Verify that adding receive RTP header extensions adds them for existing
1127 // streams. 1128 // streams.
1128 EXPECT_TRUE(channel_->SetSendParameters(parameters)); 1129 EXPECT_TRUE(channel_->SetSendParameters(parameters));
1129 send_stream = fake_call_->GetVideoSendStreams()[0]; 1130 send_stream = fake_call_->GetVideoSendStreams()[0];
1130 ASSERT_EQ(1u, send_stream->GetConfig().rtp.extensions.size()); 1131 ASSERT_EQ(1u, send_stream->GetConfig().rtp.extensions.size());
1131 EXPECT_EQ(id, send_stream->GetConfig().rtp.extensions[0].id); 1132 EXPECT_EQ(id, send_stream->GetConfig().rtp.extensions[0].id);
1132 EXPECT_EQ(ext_uri, send_stream->GetConfig().rtp.extensions[0].uri); 1133 EXPECT_EQ(ext_uri, send_stream->GetConfig().rtp.extensions[0].uri);
1133 } 1134 }
1134 1135 #if 0
1135 void TestSetRecvRtpHeaderExtensions(const std::string& ext_uri) { 1136 void TestSetRecvRtpHeaderExtensions(const std::string& ext_uri) {
1136 // Enable extension. 1137 // Enable extension.
1137 const int id = 1; 1138 const int id = 1;
1138 cricket::VideoRecvParameters parameters = recv_parameters_; 1139 cricket::VideoRecvParameters parameters = recv_parameters_;
1139 parameters.extensions.push_back(RtpExtension(ext_uri, id)); 1140 parameters.extensions.push_back(RtpExtension(ext_uri, id));
1140 EXPECT_TRUE(channel_->SetRecvParameters(parameters)); 1141 EXPECT_TRUE(channel_->SetRecvParameters(parameters));
1141 1142
1142 FakeVideoReceiveStream* recv_stream = 1143 FakeVideoReceiveStream* recv_stream =
1143 AddRecvStream(cricket::StreamParams::CreateLegacy(123)); 1144 AddRecvStream(cricket::StreamParams::CreateLegacy(123));
1144 1145
(...skipping 17 matching lines...) Expand all
1162 EXPECT_TRUE(recv_stream->GetConfig().rtp.extensions.empty()); 1163 EXPECT_TRUE(recv_stream->GetConfig().rtp.extensions.empty());
1163 1164
1164 // Verify that adding receive RTP header extensions adds them for existing 1165 // Verify that adding receive RTP header extensions adds them for existing
1165 // streams. 1166 // streams.
1166 EXPECT_TRUE(channel_->SetRecvParameters(parameters)); 1167 EXPECT_TRUE(channel_->SetRecvParameters(parameters));
1167 recv_stream = fake_call_->GetVideoReceiveStreams()[0]; 1168 recv_stream = fake_call_->GetVideoReceiveStreams()[0];
1168 ASSERT_EQ(1u, recv_stream->GetConfig().rtp.extensions.size()); 1169 ASSERT_EQ(1u, recv_stream->GetConfig().rtp.extensions.size());
1169 EXPECT_EQ(id, recv_stream->GetConfig().rtp.extensions[0].id); 1170 EXPECT_EQ(id, recv_stream->GetConfig().rtp.extensions[0].id);
1170 EXPECT_EQ(ext_uri, recv_stream->GetConfig().rtp.extensions[0].uri); 1171 EXPECT_EQ(ext_uri, recv_stream->GetConfig().rtp.extensions[0].uri);
1171 } 1172 }
1172 1173 #endif
1173 void TestExtensionFilter(const std::vector<std::string>& extensions, 1174 void TestExtensionFilter(const std::vector<std::string>& extensions,
1174 const std::string& expected_extension) { 1175 const std::string& expected_extension) {
1175 cricket::VideoSendParameters parameters = send_parameters_; 1176 cricket::VideoSendParameters parameters = send_parameters_;
1176 int expected_id = -1; 1177 int expected_id = -1;
1177 int id = 1; 1178 int id = 1;
1178 for (const std::string& extension : extensions) { 1179 for (const std::string& extension : extensions) {
1179 if (extension == expected_extension) 1180 if (extension == expected_extension)
1180 expected_id = id; 1181 expected_id = id;
1181 parameters.extensions.push_back(RtpExtension(extension, id++)); 1182 parameters.extensions.push_back(RtpExtension(extension, id++));
1182 } 1183 }
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
1322 cricket::StreamParams params = 1323 cricket::StreamParams params =
1323 cricket::StreamParams::CreateLegacy(kSsrcs1[0]); 1324 cricket::StreamParams::CreateLegacy(kSsrcs1[0]);
1324 FakeVideoReceiveStream* recv_stream = AddRecvStream(params); 1325 FakeVideoReceiveStream* recv_stream = AddRecvStream(params);
1325 ASSERT_EQ(0U, recv_stream->GetConfig().rtp.rtx_ssrc); 1326 ASSERT_EQ(0U, recv_stream->GetConfig().rtp.rtx_ssrc);
1326 } 1327 }
1327 1328
1328 TEST_F(WebRtcVideoChannel2Test, NoHeaderExtesionsByDefault) { 1329 TEST_F(WebRtcVideoChannel2Test, NoHeaderExtesionsByDefault) {
1329 FakeVideoSendStream* send_stream = 1330 FakeVideoSendStream* send_stream =
1330 AddSendStream(cricket::StreamParams::CreateLegacy(kSsrcs1[0])); 1331 AddSendStream(cricket::StreamParams::CreateLegacy(kSsrcs1[0]));
1331 ASSERT_TRUE(send_stream->GetConfig().rtp.extensions.empty()); 1332 ASSERT_TRUE(send_stream->GetConfig().rtp.extensions.empty());
1332 1333 #if 0
1333 FakeVideoReceiveStream* recv_stream = 1334 FakeVideoReceiveStream* recv_stream =
1334 AddRecvStream(cricket::StreamParams::CreateLegacy(kSsrcs1[0])); 1335 AddRecvStream(cricket::StreamParams::CreateLegacy(kSsrcs1[0]));
1335 ASSERT_TRUE(recv_stream->GetConfig().rtp.extensions.empty()); 1336 ASSERT_TRUE(recv_stream->GetConfig().rtp.extensions.empty());
1337 #endif
1336 } 1338 }
1337 1339
1338 // Test support for RTP timestamp offset header extension. 1340 // Test support for RTP timestamp offset header extension.
1339 TEST_F(WebRtcVideoChannel2Test, SendRtpTimestampOffsetHeaderExtensions) { 1341 TEST_F(WebRtcVideoChannel2Test, SendRtpTimestampOffsetHeaderExtensions) {
1340 TestSetSendRtpHeaderExtensions(RtpExtension::kTimestampOffsetUri); 1342 TestSetSendRtpHeaderExtensions(RtpExtension::kTimestampOffsetUri);
1341 } 1343 }
1342 1344
1345 #if 0
1343 TEST_F(WebRtcVideoChannel2Test, RecvRtpTimestampOffsetHeaderExtensions) { 1346 TEST_F(WebRtcVideoChannel2Test, RecvRtpTimestampOffsetHeaderExtensions) {
1344 TestSetRecvRtpHeaderExtensions(RtpExtension::kTimestampOffsetUri); 1347 TestSetRecvRtpHeaderExtensions(RtpExtension::kTimestampOffsetUri);
1345 } 1348 }
1346 1349 #endif
1347 // Test support for absolute send time header extension. 1350 // Test support for absolute send time header extension.
1348 TEST_F(WebRtcVideoChannel2Test, SendAbsoluteSendTimeHeaderExtensions) { 1351 TEST_F(WebRtcVideoChannel2Test, SendAbsoluteSendTimeHeaderExtensions) {
1349 TestSetSendRtpHeaderExtensions(RtpExtension::kAbsSendTimeUri); 1352 TestSetSendRtpHeaderExtensions(RtpExtension::kAbsSendTimeUri);
1350 } 1353 }
1351 1354
1355 #if 0
1352 TEST_F(WebRtcVideoChannel2Test, RecvAbsoluteSendTimeHeaderExtensions) { 1356 TEST_F(WebRtcVideoChannel2Test, RecvAbsoluteSendTimeHeaderExtensions) {
1353 TestSetRecvRtpHeaderExtensions(RtpExtension::kAbsSendTimeUri); 1357 TestSetRecvRtpHeaderExtensions(RtpExtension::kAbsSendTimeUri);
1354 } 1358 }
1355 1359 #endif
1356 TEST_F(WebRtcVideoChannel2Test, FiltersExtensionsPicksTransportSeqNum) { 1360 TEST_F(WebRtcVideoChannel2Test, FiltersExtensionsPicksTransportSeqNum) {
1357 // Enable three redundant extensions. 1361 // Enable three redundant extensions.
1358 std::vector<std::string> extensions; 1362 std::vector<std::string> extensions;
1359 extensions.push_back(RtpExtension::kAbsSendTimeUri); 1363 extensions.push_back(RtpExtension::kAbsSendTimeUri);
1360 extensions.push_back(RtpExtension::kTimestampOffsetUri); 1364 extensions.push_back(RtpExtension::kTimestampOffsetUri);
1361 extensions.push_back(RtpExtension::kTransportSequenceNumberUri); 1365 extensions.push_back(RtpExtension::kTransportSequenceNumberUri);
1362 TestExtensionFilter(extensions, RtpExtension::kTransportSequenceNumberUri); 1366 TestExtensionFilter(extensions, RtpExtension::kTransportSequenceNumberUri);
1363 } 1367 }
1364 1368
1365 TEST_F(WebRtcVideoChannel2Test, FiltersExtensionsPicksAbsSendTime) { 1369 TEST_F(WebRtcVideoChannel2Test, FiltersExtensionsPicksAbsSendTime) {
1366 // Enable two redundant extensions. 1370 // Enable two redundant extensions.
1367 std::vector<std::string> extensions; 1371 std::vector<std::string> extensions;
1368 extensions.push_back(RtpExtension::kAbsSendTimeUri); 1372 extensions.push_back(RtpExtension::kAbsSendTimeUri);
1369 extensions.push_back(RtpExtension::kTimestampOffsetUri); 1373 extensions.push_back(RtpExtension::kTimestampOffsetUri);
1370 TestExtensionFilter(extensions, RtpExtension::kAbsSendTimeUri); 1374 TestExtensionFilter(extensions, RtpExtension::kAbsSendTimeUri);
1371 } 1375 }
1372 1376
1373 // Test support for transport sequence number header extension. 1377 // Test support for transport sequence number header extension.
1374 TEST_F(WebRtcVideoChannel2Test, SendTransportSequenceNumberHeaderExtensions) { 1378 TEST_F(WebRtcVideoChannel2Test, SendTransportSequenceNumberHeaderExtensions) {
1375 TestSetSendRtpHeaderExtensions(RtpExtension::kTransportSequenceNumberUri); 1379 TestSetSendRtpHeaderExtensions(RtpExtension::kTransportSequenceNumberUri);
1376 } 1380 }
1381 #if 0
1377 TEST_F(WebRtcVideoChannel2Test, RecvTransportSequenceNumberHeaderExtensions) { 1382 TEST_F(WebRtcVideoChannel2Test, RecvTransportSequenceNumberHeaderExtensions) {
1378 TestSetRecvRtpHeaderExtensions(RtpExtension::kTransportSequenceNumberUri); 1383 TestSetRecvRtpHeaderExtensions(RtpExtension::kTransportSequenceNumberUri);
1379 } 1384 }
1380 1385 #endif
1381 // Test support for video rotation header extension. 1386 // Test support for video rotation header extension.
1382 TEST_F(WebRtcVideoChannel2Test, SendVideoRotationHeaderExtensions) { 1387 TEST_F(WebRtcVideoChannel2Test, SendVideoRotationHeaderExtensions) {
1383 TestSetSendRtpHeaderExtensions(RtpExtension::kVideoRotationUri); 1388 TestSetSendRtpHeaderExtensions(RtpExtension::kVideoRotationUri);
1384 } 1389 }
1390 #if 0
1385 TEST_F(WebRtcVideoChannel2Test, RecvVideoRotationHeaderExtensions) { 1391 TEST_F(WebRtcVideoChannel2Test, RecvVideoRotationHeaderExtensions) {
1386 TestSetRecvRtpHeaderExtensions(RtpExtension::kVideoRotationUri); 1392 TestSetRecvRtpHeaderExtensions(RtpExtension::kVideoRotationUri);
1387 } 1393 }
1394 #endif
1388 1395
1389 TEST_F(WebRtcVideoChannel2Test, IdenticalSendExtensionsDoesntRecreateStream) { 1396 TEST_F(WebRtcVideoChannel2Test, IdenticalSendExtensionsDoesntRecreateStream) {
1390 const int kAbsSendTimeId = 1; 1397 const int kAbsSendTimeId = 1;
1391 const int kVideoRotationId = 2; 1398 const int kVideoRotationId = 2;
1392 send_parameters_.extensions.push_back( 1399 send_parameters_.extensions.push_back(
1393 RtpExtension(RtpExtension::kAbsSendTimeUri, kAbsSendTimeId)); 1400 RtpExtension(RtpExtension::kAbsSendTimeUri, kAbsSendTimeId));
1394 send_parameters_.extensions.push_back( 1401 send_parameters_.extensions.push_back(
1395 RtpExtension(RtpExtension::kVideoRotationUri, kVideoRotationId)); 1402 RtpExtension(RtpExtension::kVideoRotationUri, kVideoRotationId));
1396 1403
1397 EXPECT_TRUE(channel_->SetSendParameters(send_parameters_)); 1404 EXPECT_TRUE(channel_->SetSendParameters(send_parameters_));
(...skipping 10 matching lines...) Expand all
1408 EXPECT_TRUE(channel_->SetSendParameters(send_parameters_)); 1415 EXPECT_TRUE(channel_->SetSendParameters(send_parameters_));
1409 1416
1410 EXPECT_EQ(1, fake_call_->GetNumCreatedSendStreams()); 1417 EXPECT_EQ(1, fake_call_->GetNumCreatedSendStreams());
1411 1418
1412 // Setting different extensions should recreate the stream. 1419 // Setting different extensions should recreate the stream.
1413 send_parameters_.extensions.resize(1); 1420 send_parameters_.extensions.resize(1);
1414 EXPECT_TRUE(channel_->SetSendParameters(send_parameters_)); 1421 EXPECT_TRUE(channel_->SetSendParameters(send_parameters_));
1415 1422
1416 EXPECT_EQ(2, fake_call_->GetNumCreatedSendStreams()); 1423 EXPECT_EQ(2, fake_call_->GetNumCreatedSendStreams());
1417 } 1424 }
1418 1425 #if 0
1419 TEST_F(WebRtcVideoChannel2Test, IdenticalRecvExtensionsDoesntRecreateStream) { 1426 TEST_F(WebRtcVideoChannel2Test, IdenticalRecvExtensionsDoesntRecreateStream) {
1420 const int kTOffsetId = 1; 1427 const int kTOffsetId = 1;
1421 const int kAbsSendTimeId = 2; 1428 const int kAbsSendTimeId = 2;
1422 const int kVideoRotationId = 3; 1429 const int kVideoRotationId = 3;
1423 recv_parameters_.extensions.push_back( 1430 recv_parameters_.extensions.push_back(
1424 RtpExtension(RtpExtension::kAbsSendTimeUri, kAbsSendTimeId)); 1431 RtpExtension(RtpExtension::kAbsSendTimeUri, kAbsSendTimeId));
1425 recv_parameters_.extensions.push_back( 1432 recv_parameters_.extensions.push_back(
1426 RtpExtension(RtpExtension::kTimestampOffsetUri, kTOffsetId)); 1433 RtpExtension(RtpExtension::kTimestampOffsetUri, kTOffsetId));
1427 recv_parameters_.extensions.push_back( 1434 recv_parameters_.extensions.push_back(
1428 RtpExtension(RtpExtension::kVideoRotationUri, kVideoRotationId)); 1435 RtpExtension(RtpExtension::kVideoRotationUri, kVideoRotationId));
(...skipping 12 matching lines...) Expand all
1441 EXPECT_TRUE(channel_->SetRecvParameters(recv_parameters_)); 1448 EXPECT_TRUE(channel_->SetRecvParameters(recv_parameters_));
1442 1449
1443 EXPECT_EQ(1, fake_call_->GetNumCreatedReceiveStreams()); 1450 EXPECT_EQ(1, fake_call_->GetNumCreatedReceiveStreams());
1444 1451
1445 // Setting different extensions should recreate the stream. 1452 // Setting different extensions should recreate the stream.
1446 recv_parameters_.extensions.resize(1); 1453 recv_parameters_.extensions.resize(1);
1447 EXPECT_TRUE(channel_->SetRecvParameters(recv_parameters_)); 1454 EXPECT_TRUE(channel_->SetRecvParameters(recv_parameters_));
1448 1455
1449 EXPECT_EQ(2, fake_call_->GetNumCreatedReceiveStreams()); 1456 EXPECT_EQ(2, fake_call_->GetNumCreatedReceiveStreams());
1450 } 1457 }
1451 1458 #endif
1452 TEST_F(WebRtcVideoChannel2Test, 1459 TEST_F(WebRtcVideoChannel2Test,
1453 SetSendRtpHeaderExtensionsExcludeUnsupportedExtensions) { 1460 SetSendRtpHeaderExtensionsExcludeUnsupportedExtensions) {
1454 const int kUnsupportedId = 1; 1461 const int kUnsupportedId = 1;
1455 const int kTOffsetId = 2; 1462 const int kTOffsetId = 2;
1456 1463
1457 send_parameters_.extensions.push_back( 1464 send_parameters_.extensions.push_back(
1458 RtpExtension(kUnsupportedExtensionName, kUnsupportedId)); 1465 RtpExtension(kUnsupportedExtensionName, kUnsupportedId));
1459 send_parameters_.extensions.push_back( 1466 send_parameters_.extensions.push_back(
1460 RtpExtension(RtpExtension::kTimestampOffsetUri, kTOffsetId)); 1467 RtpExtension(RtpExtension::kTimestampOffsetUri, kTOffsetId));
1461 EXPECT_TRUE(channel_->SetSendParameters(send_parameters_)); 1468 EXPECT_TRUE(channel_->SetSendParameters(send_parameters_));
1462 FakeVideoSendStream* send_stream = 1469 FakeVideoSendStream* send_stream =
1463 AddSendStream(cricket::StreamParams::CreateLegacy(123)); 1470 AddSendStream(cricket::StreamParams::CreateLegacy(123));
1464 1471
1465 // Only timestamp offset extension is set to send stream, 1472 // Only timestamp offset extension is set to send stream,
1466 // unsupported rtp extension is ignored. 1473 // unsupported rtp extension is ignored.
1467 ASSERT_EQ(1u, send_stream->GetConfig().rtp.extensions.size()); 1474 ASSERT_EQ(1u, send_stream->GetConfig().rtp.extensions.size());
1468 EXPECT_STREQ(RtpExtension::kTimestampOffsetUri, 1475 EXPECT_STREQ(RtpExtension::kTimestampOffsetUri,
1469 send_stream->GetConfig().rtp.extensions[0].uri.c_str()); 1476 send_stream->GetConfig().rtp.extensions[0].uri.c_str());
1470 } 1477 }
1471 1478
1479 #if 0
1472 TEST_F(WebRtcVideoChannel2Test, 1480 TEST_F(WebRtcVideoChannel2Test,
1473 SetRecvRtpHeaderExtensionsExcludeUnsupportedExtensions) { 1481 SetRecvRtpHeaderExtensionsExcludeUnsupportedExtensions) {
1474 const int kUnsupportedId = 1; 1482 const int kUnsupportedId = 1;
1475 const int kTOffsetId = 2; 1483 const int kTOffsetId = 2;
1476 1484
1477 recv_parameters_.extensions.push_back( 1485 recv_parameters_.extensions.push_back(
1478 RtpExtension(kUnsupportedExtensionName, kUnsupportedId)); 1486 RtpExtension(kUnsupportedExtensionName, kUnsupportedId));
1479 recv_parameters_.extensions.push_back( 1487 recv_parameters_.extensions.push_back(
1480 RtpExtension(RtpExtension::kTimestampOffsetUri, kTOffsetId)); 1488 RtpExtension(RtpExtension::kTimestampOffsetUri, kTOffsetId));
1481 EXPECT_TRUE(channel_->SetRecvParameters(recv_parameters_)); 1489 EXPECT_TRUE(channel_->SetRecvParameters(recv_parameters_));
1482 FakeVideoReceiveStream* recv_stream = 1490 FakeVideoReceiveStream* recv_stream =
1483 AddRecvStream(cricket::StreamParams::CreateLegacy(123)); 1491 AddRecvStream(cricket::StreamParams::CreateLegacy(123));
1484 1492
1485 // Only timestamp offset extension is set to receive stream, 1493 // Only timestamp offset extension is set to receive stream,
1486 // unsupported rtp extension is ignored. 1494 // unsupported rtp extension is ignored.
1487 ASSERT_EQ(1u, recv_stream->GetConfig().rtp.extensions.size()); 1495 ASSERT_EQ(1u, recv_stream->GetConfig().rtp.extensions.size());
1488 EXPECT_STREQ(RtpExtension::kTimestampOffsetUri, 1496 EXPECT_STREQ(RtpExtension::kTimestampOffsetUri,
1489 recv_stream->GetConfig().rtp.extensions[0].uri.c_str()); 1497 recv_stream->GetConfig().rtp.extensions[0].uri.c_str());
1490 } 1498 }
1491 1499 #endif
1492 TEST_F(WebRtcVideoChannel2Test, SetSendRtpHeaderExtensionsRejectsIncorrectIds) { 1500 TEST_F(WebRtcVideoChannel2Test, SetSendRtpHeaderExtensionsRejectsIncorrectIds) {
1493 const int kIncorrectIds[] = {-2, -1, 0, 15, 16}; 1501 const int kIncorrectIds[] = {-2, -1, 0, 15, 16};
1494 for (size_t i = 0; i < arraysize(kIncorrectIds); ++i) { 1502 for (size_t i = 0; i < arraysize(kIncorrectIds); ++i) {
1495 send_parameters_.extensions.push_back( 1503 send_parameters_.extensions.push_back(
1496 RtpExtension(RtpExtension::kTimestampOffsetUri, kIncorrectIds[i])); 1504 RtpExtension(RtpExtension::kTimestampOffsetUri, kIncorrectIds[i]));
1497 EXPECT_FALSE(channel_->SetSendParameters(send_parameters_)) 1505 EXPECT_FALSE(channel_->SetSendParameters(send_parameters_))
1498 << "Bad extension id '" << kIncorrectIds[i] << "' accepted."; 1506 << "Bad extension id '" << kIncorrectIds[i] << "' accepted.";
1499 } 1507 }
1500 } 1508 }
1501 1509 #if 0
1502 TEST_F(WebRtcVideoChannel2Test, SetRecvRtpHeaderExtensionsRejectsIncorrectIds) { 1510 TEST_F(WebRtcVideoChannel2Test, SetRecvRtpHeaderExtensionsRejectsIncorrectIds) {
1503 const int kIncorrectIds[] = {-2, -1, 0, 15, 16}; 1511 const int kIncorrectIds[] = {-2, -1, 0, 15, 16};
1504 for (size_t i = 0; i < arraysize(kIncorrectIds); ++i) { 1512 for (size_t i = 0; i < arraysize(kIncorrectIds); ++i) {
1505 recv_parameters_.extensions.push_back( 1513 recv_parameters_.extensions.push_back(
1506 RtpExtension(RtpExtension::kTimestampOffsetUri, kIncorrectIds[i])); 1514 RtpExtension(RtpExtension::kTimestampOffsetUri, kIncorrectIds[i]));
1507 EXPECT_FALSE(channel_->SetRecvParameters(recv_parameters_)) 1515 EXPECT_FALSE(channel_->SetRecvParameters(recv_parameters_))
1508 << "Bad extension id '" << kIncorrectIds[i] << "' accepted."; 1516 << "Bad extension id '" << kIncorrectIds[i] << "' accepted.";
1509 } 1517 }
1510 } 1518 }
1511 1519 #endif
1512 TEST_F(WebRtcVideoChannel2Test, SetSendRtpHeaderExtensionsRejectsDuplicateIds) { 1520 TEST_F(WebRtcVideoChannel2Test, SetSendRtpHeaderExtensionsRejectsDuplicateIds) {
1513 const int id = 1; 1521 const int id = 1;
1514 send_parameters_.extensions.push_back( 1522 send_parameters_.extensions.push_back(
1515 RtpExtension(RtpExtension::kTimestampOffsetUri, id)); 1523 RtpExtension(RtpExtension::kTimestampOffsetUri, id));
1516 send_parameters_.extensions.push_back( 1524 send_parameters_.extensions.push_back(
1517 RtpExtension(RtpExtension::kAbsSendTimeUri, id)); 1525 RtpExtension(RtpExtension::kAbsSendTimeUri, id));
1518 EXPECT_FALSE(channel_->SetSendParameters(send_parameters_)); 1526 EXPECT_FALSE(channel_->SetSendParameters(send_parameters_));
1519 1527
1520 // Duplicate entries are also not supported. 1528 // Duplicate entries are also not supported.
1521 send_parameters_.extensions.clear(); 1529 send_parameters_.extensions.clear();
1522 send_parameters_.extensions.push_back( 1530 send_parameters_.extensions.push_back(
1523 RtpExtension(RtpExtension::kTimestampOffsetUri, id)); 1531 RtpExtension(RtpExtension::kTimestampOffsetUri, id));
1524 send_parameters_.extensions.push_back(send_parameters_.extensions.back()); 1532 send_parameters_.extensions.push_back(send_parameters_.extensions.back());
1525 EXPECT_FALSE(channel_->SetSendParameters(send_parameters_)); 1533 EXPECT_FALSE(channel_->SetSendParameters(send_parameters_));
1526 } 1534 }
1527 1535 #if 0
1528 TEST_F(WebRtcVideoChannel2Test, SetRecvRtpHeaderExtensionsRejectsDuplicateIds) { 1536 TEST_F(WebRtcVideoChannel2Test, SetRecvRtpHeaderExtensionsRejectsDuplicateIds) {
1529 const int id = 1; 1537 const int id = 1;
1530 recv_parameters_.extensions.push_back( 1538 recv_parameters_.extensions.push_back(
1531 RtpExtension(RtpExtension::kTimestampOffsetUri, id)); 1539 RtpExtension(RtpExtension::kTimestampOffsetUri, id));
1532 recv_parameters_.extensions.push_back( 1540 recv_parameters_.extensions.push_back(
1533 RtpExtension(RtpExtension::kAbsSendTimeUri, id)); 1541 RtpExtension(RtpExtension::kAbsSendTimeUri, id));
1534 EXPECT_FALSE(channel_->SetRecvParameters(recv_parameters_)); 1542 EXPECT_FALSE(channel_->SetRecvParameters(recv_parameters_));
1535 1543
1536 // Duplicate entries are also not supported. 1544 // Duplicate entries are also not supported.
1537 recv_parameters_.extensions.clear(); 1545 recv_parameters_.extensions.clear();
1538 recv_parameters_.extensions.push_back( 1546 recv_parameters_.extensions.push_back(
1539 RtpExtension(RtpExtension::kTimestampOffsetUri, id)); 1547 RtpExtension(RtpExtension::kTimestampOffsetUri, id));
1540 recv_parameters_.extensions.push_back(recv_parameters_.extensions.back()); 1548 recv_parameters_.extensions.push_back(recv_parameters_.extensions.back());
1541 EXPECT_FALSE(channel_->SetRecvParameters(recv_parameters_)); 1549 EXPECT_FALSE(channel_->SetRecvParameters(recv_parameters_));
1542 } 1550 }
1543 1551 #endif
1544 TEST_F(WebRtcVideoChannel2Test, AddRecvStreamOnlyUsesOneReceiveStream) { 1552 TEST_F(WebRtcVideoChannel2Test, AddRecvStreamOnlyUsesOneReceiveStream) {
1545 EXPECT_TRUE(channel_->AddRecvStream(cricket::StreamParams::CreateLegacy(1))); 1553 EXPECT_TRUE(channel_->AddRecvStream(cricket::StreamParams::CreateLegacy(1)));
1546 EXPECT_EQ(1u, fake_call_->GetVideoReceiveStreams().size()); 1554 EXPECT_EQ(1u, fake_call_->GetVideoReceiveStreams().size());
1547 } 1555 }
1548 1556
1549 TEST_F(WebRtcVideoChannel2Test, RtcpIsCompoundByDefault) { 1557 TEST_F(WebRtcVideoChannel2Test, RtcpIsCompoundByDefault) {
1550 FakeVideoReceiveStream* stream = AddRecvStream(); 1558 FakeVideoReceiveStream* stream = AddRecvStream();
1551 EXPECT_EQ(webrtc::RtcpMode::kCompound, stream->GetConfig().rtp.rtcp_mode); 1559 EXPECT_EQ(webrtc::RtcpMode::kCompound, stream->GetConfig().rtp.rtcp_mode);
1552 } 1560 }
1553 1561
(...skipping 966 matching lines...) Expand 10 before | Expand all | Expand 10 after
2520 EXPECT_EQ(video_stream_config.rtp.local_ssrc, 2528 EXPECT_EQ(video_stream_config.rtp.local_ssrc,
2521 flexfec_stream_config.local_ssrc); 2529 flexfec_stream_config.local_ssrc);
2522 EXPECT_EQ(video_stream_config.rtp.rtcp_mode, flexfec_stream_config.rtcp_mode); 2530 EXPECT_EQ(video_stream_config.rtp.rtcp_mode, flexfec_stream_config.rtcp_mode);
2523 EXPECT_EQ(video_stream_config.rtcp_send_transport, 2531 EXPECT_EQ(video_stream_config.rtcp_send_transport,
2524 flexfec_stream_config.rtcp_send_transport); 2532 flexfec_stream_config.rtcp_send_transport);
2525 // TODO(brandtr): Update this EXPECT when we set |transport_cc| in a 2533 // TODO(brandtr): Update this EXPECT when we set |transport_cc| in a
2526 // spec-compliant way. 2534 // spec-compliant way.
2527 EXPECT_EQ(video_stream_config.rtp.transport_cc, 2535 EXPECT_EQ(video_stream_config.rtp.transport_cc,
2528 flexfec_stream_config.transport_cc); 2536 flexfec_stream_config.transport_cc);
2529 EXPECT_EQ(video_stream_config.rtp.rtcp_mode, flexfec_stream_config.rtcp_mode); 2537 EXPECT_EQ(video_stream_config.rtp.rtcp_mode, flexfec_stream_config.rtcp_mode);
2538 #if 0
2530 EXPECT_EQ(video_stream_config.rtp.extensions, 2539 EXPECT_EQ(video_stream_config.rtp.extensions,
2531 flexfec_stream_config.rtp_header_extensions); 2540 flexfec_stream_config.rtp_header_extensions);
2541 #endif
2532 } 2542 }
2533 2543
2534 TEST_F(WebRtcVideoChannel2Test, 2544 TEST_F(WebRtcVideoChannel2Test,
2535 SetSendCodecRejectsRtxWithoutAssociatedPayloadType) { 2545 SetSendCodecRejectsRtxWithoutAssociatedPayloadType) {
2536 const int kUnusedPayloadType = 127; 2546 const int kUnusedPayloadType = 127;
2537 EXPECT_FALSE(FindCodecById(engine_.codecs(), kUnusedPayloadType)); 2547 EXPECT_FALSE(FindCodecById(engine_.codecs(), kUnusedPayloadType));
2538 2548
2539 cricket::VideoSendParameters parameters; 2549 cricket::VideoSendParameters parameters;
2540 cricket::VideoCodec rtx_codec(kUnusedPayloadType, "rtx"); 2550 cricket::VideoCodec rtx_codec(kUnusedPayloadType, "rtx");
2541 parameters.codecs.push_back(rtx_codec); 2551 parameters.codecs.push_back(rtx_codec);
(...skipping 1892 matching lines...) Expand 10 before | Expand all | Expand 10 after
4434 4444
4435 TEST_F(WebRtcVideoChannel2SimulcastTest, 4445 TEST_F(WebRtcVideoChannel2SimulcastTest,
4436 NoSimulcastScreenshareWithoutConference) { 4446 NoSimulcastScreenshareWithoutConference) {
4437 webrtc::test::ScopedFieldTrials override_field_trials_( 4447 webrtc::test::ScopedFieldTrials override_field_trials_(
4438 "WebRTC-SimulcastScreenshare/Enabled/"); 4448 "WebRTC-SimulcastScreenshare/Enabled/");
4439 VerifySimulcastSettings(cricket::VideoCodec("VP8"), 1280, 720, 3, 1, true, 4449 VerifySimulcastSettings(cricket::VideoCodec("VP8"), 1280, 720, 3, 1, true,
4440 false); 4450 false);
4441 } 4451 }
4442 4452
4443 } // namespace cricket 4453 } // namespace cricket
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698