OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2008 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2008 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 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
43 const cricket::AudioCodec kTelephoneEventCodec(106, | 43 const cricket::AudioCodec kTelephoneEventCodec(106, |
44 "telephone-event", | 44 "telephone-event", |
45 8000, | 45 8000, |
46 0, | 46 0, |
47 1); | 47 1); |
48 const uint32_t kSsrc1 = 0x99; | 48 const uint32_t kSsrc1 = 0x99; |
49 const uint32_t kSsrc2 = 2; | 49 const uint32_t kSsrc2 = 2; |
50 const uint32_t kSsrc3 = 3; | 50 const uint32_t kSsrc3 = 3; |
51 const uint32_t kSsrcs4[] = { 1, 2, 3, 4 }; | 51 const uint32_t kSsrcs4[] = { 1, 2, 3, 4 }; |
52 | 52 |
| 53 constexpr int kRtpHistoryMs = 5000; |
| 54 |
53 class FakeVoEWrapper : public cricket::VoEWrapper { | 55 class FakeVoEWrapper : public cricket::VoEWrapper { |
54 public: | 56 public: |
55 explicit FakeVoEWrapper(cricket::FakeWebRtcVoiceEngine* engine) | 57 explicit FakeVoEWrapper(cricket::FakeWebRtcVoiceEngine* engine) |
56 : cricket::VoEWrapper(engine, // processing | 58 : cricket::VoEWrapper(engine, // processing |
57 engine, // base | 59 engine, // base |
58 engine, // codec | 60 engine, // codec |
59 engine, // hw | 61 engine, // hw |
60 engine, // rtp | 62 engine, // rtp |
61 engine) { // volume | 63 engine) { // volume |
62 } | 64 } |
(...skipping 1288 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1351 | 1353 |
1352 parameters.codecs[0].params["maxaveragebitrate"] = "200000"; | 1354 parameters.codecs[0].params["maxaveragebitrate"] = "200000"; |
1353 EXPECT_TRUE(channel_->SetSendParameters(parameters)); | 1355 EXPECT_TRUE(channel_->SetSendParameters(parameters)); |
1354 EXPECT_EQ(0, voe_.GetSendCodec(channel_num, gcodec)); | 1356 EXPECT_EQ(0, voe_.GetSendCodec(channel_num, gcodec)); |
1355 EXPECT_EQ(200000, gcodec.rate); | 1357 EXPECT_EQ(200000, gcodec.rate); |
1356 } | 1358 } |
1357 | 1359 |
1358 // Test that we can enable NACK with opus as caller. | 1360 // Test that we can enable NACK with opus as caller. |
1359 TEST_F(WebRtcVoiceEngineTestFake, SetSendCodecEnableNackAsCaller) { | 1361 TEST_F(WebRtcVoiceEngineTestFake, SetSendCodecEnableNackAsCaller) { |
1360 EXPECT_TRUE(SetupSendStream()); | 1362 EXPECT_TRUE(SetupSendStream()); |
1361 int channel_num = voe_.GetLastChannel(); | |
1362 cricket::AudioSendParameters parameters; | 1363 cricket::AudioSendParameters parameters; |
1363 parameters.codecs.push_back(kOpusCodec); | 1364 parameters.codecs.push_back(kOpusCodec); |
1364 parameters.codecs[0].AddFeedbackParam( | 1365 parameters.codecs[0].AddFeedbackParam( |
1365 cricket::FeedbackParam(cricket::kRtcpFbParamNack, | 1366 cricket::FeedbackParam(cricket::kRtcpFbParamNack, |
1366 cricket::kParamValueEmpty)); | 1367 cricket::kParamValueEmpty)); |
1367 EXPECT_FALSE(voe_.GetNACK(channel_num)); | 1368 EXPECT_EQ(0, GetSendStreamConfig(kSsrc1).rtp.nack.rtp_history_ms); |
1368 EXPECT_TRUE(channel_->SetSendParameters(parameters)); | 1369 EXPECT_TRUE(channel_->SetSendParameters(parameters)); |
1369 EXPECT_TRUE(voe_.GetNACK(channel_num)); | 1370 EXPECT_EQ(kRtpHistoryMs, GetSendStreamConfig(kSsrc1).rtp.nack.rtp_history_ms); |
1370 } | 1371 } |
1371 | 1372 |
1372 // Test that we can enable NACK with opus as callee. | 1373 // Test that we can enable NACK with opus as callee. |
1373 TEST_F(WebRtcVoiceEngineTestFake, SetSendCodecEnableNackAsCallee) { | 1374 TEST_F(WebRtcVoiceEngineTestFake, SetSendCodecEnableNackAsCallee) { |
1374 EXPECT_TRUE(SetupRecvStream()); | 1375 EXPECT_TRUE(SetupRecvStream()); |
1375 int channel_num = voe_.GetLastChannel(); | 1376 int channel_num = voe_.GetLastChannel(); |
1376 cricket::AudioSendParameters parameters; | 1377 cricket::AudioSendParameters parameters; |
1377 parameters.codecs.push_back(kOpusCodec); | 1378 parameters.codecs.push_back(kOpusCodec); |
1378 parameters.codecs[0].AddFeedbackParam( | 1379 parameters.codecs[0].AddFeedbackParam( |
1379 cricket::FeedbackParam(cricket::kRtcpFbParamNack, | 1380 cricket::FeedbackParam(cricket::kRtcpFbParamNack, |
1380 cricket::kParamValueEmpty)); | 1381 cricket::kParamValueEmpty)); |
1381 EXPECT_FALSE(voe_.GetNACK(channel_num)); | 1382 EXPECT_FALSE(voe_.GetNACK(channel_num)); |
1382 EXPECT_TRUE(channel_->SetSendParameters(parameters)); | 1383 EXPECT_TRUE(channel_->SetSendParameters(parameters)); |
1383 // NACK should be enabled even with no send stream. | 1384 // NACK should be enabled even with no send stream. |
1384 EXPECT_TRUE(voe_.GetNACK(channel_num)); | 1385 EXPECT_TRUE(voe_.GetNACK(channel_num)); |
1385 | 1386 |
1386 EXPECT_TRUE(channel_->AddSendStream( | 1387 EXPECT_TRUE(channel_->AddSendStream( |
1387 cricket::StreamParams::CreateLegacy(kSsrc1))); | 1388 cricket::StreamParams::CreateLegacy(kSsrc1))); |
1388 EXPECT_TRUE(voe_.GetNACK(voe_.GetLastChannel())); | 1389 EXPECT_EQ(kRtpHistoryMs, GetSendStreamConfig(kSsrc1).rtp.nack.rtp_history_ms); |
1389 } | 1390 } |
1390 | 1391 |
1391 // Test that we can enable NACK on receive streams. | 1392 // Test that we can enable NACK on receive streams. |
1392 TEST_F(WebRtcVoiceEngineTestFake, SetSendCodecEnableNackRecvStreams) { | 1393 TEST_F(WebRtcVoiceEngineTestFake, SetSendCodecEnableNackRecvStreams) { |
1393 EXPECT_TRUE(SetupSendStream()); | 1394 EXPECT_TRUE(SetupSendStream()); |
1394 int channel_num1 = voe_.GetLastChannel(); | |
1395 EXPECT_TRUE(channel_->AddRecvStream(cricket::StreamParams::CreateLegacy(2))); | 1395 EXPECT_TRUE(channel_->AddRecvStream(cricket::StreamParams::CreateLegacy(2))); |
1396 int channel_num2 = voe_.GetLastChannel(); | 1396 int channel_num2 = voe_.GetLastChannel(); |
1397 cricket::AudioSendParameters parameters; | 1397 cricket::AudioSendParameters parameters; |
1398 parameters.codecs.push_back(kOpusCodec); | 1398 parameters.codecs.push_back(kOpusCodec); |
1399 parameters.codecs[0].AddFeedbackParam( | 1399 parameters.codecs[0].AddFeedbackParam( |
1400 cricket::FeedbackParam(cricket::kRtcpFbParamNack, | 1400 cricket::FeedbackParam(cricket::kRtcpFbParamNack, |
1401 cricket::kParamValueEmpty)); | 1401 cricket::kParamValueEmpty)); |
1402 EXPECT_FALSE(voe_.GetNACK(channel_num1)); | 1402 EXPECT_EQ(0, GetSendStreamConfig(kSsrc1).rtp.nack.rtp_history_ms); |
1403 EXPECT_FALSE(voe_.GetNACK(channel_num2)); | 1403 EXPECT_FALSE(voe_.GetNACK(channel_num2)); |
1404 EXPECT_TRUE(channel_->SetSendParameters(parameters)); | 1404 EXPECT_TRUE(channel_->SetSendParameters(parameters)); |
1405 EXPECT_TRUE(voe_.GetNACK(channel_num1)); | 1405 EXPECT_EQ(kRtpHistoryMs, GetSendStreamConfig(kSsrc1).rtp.nack.rtp_history_ms); |
1406 EXPECT_TRUE(voe_.GetNACK(channel_num2)); | 1406 EXPECT_TRUE(voe_.GetNACK(channel_num2)); |
1407 } | 1407 } |
1408 | 1408 |
1409 // Test that we can disable NACK. | 1409 // Test that we can disable NACK. |
1410 TEST_F(WebRtcVoiceEngineTestFake, SetSendCodecDisableNack) { | 1410 TEST_F(WebRtcVoiceEngineTestFake, SetSendCodecDisableNack) { |
1411 EXPECT_TRUE(SetupSendStream()); | 1411 EXPECT_TRUE(SetupSendStream()); |
1412 int channel_num = voe_.GetLastChannel(); | |
1413 cricket::AudioSendParameters parameters; | 1412 cricket::AudioSendParameters parameters; |
1414 parameters.codecs.push_back(kOpusCodec); | 1413 parameters.codecs.push_back(kOpusCodec); |
1415 parameters.codecs[0].AddFeedbackParam( | 1414 parameters.codecs[0].AddFeedbackParam( |
1416 cricket::FeedbackParam(cricket::kRtcpFbParamNack, | 1415 cricket::FeedbackParam(cricket::kRtcpFbParamNack, |
1417 cricket::kParamValueEmpty)); | 1416 cricket::kParamValueEmpty)); |
1418 EXPECT_TRUE(channel_->SetSendParameters(parameters)); | 1417 EXPECT_TRUE(channel_->SetSendParameters(parameters)); |
1419 EXPECT_TRUE(voe_.GetNACK(channel_num)); | 1418 EXPECT_EQ(kRtpHistoryMs, GetSendStreamConfig(kSsrc1).rtp.nack.rtp_history_ms); |
1420 | 1419 |
1421 parameters.codecs.clear(); | 1420 parameters.codecs.clear(); |
1422 parameters.codecs.push_back(kOpusCodec); | 1421 parameters.codecs.push_back(kOpusCodec); |
1423 EXPECT_TRUE(channel_->SetSendParameters(parameters)); | 1422 EXPECT_TRUE(channel_->SetSendParameters(parameters)); |
1424 EXPECT_FALSE(voe_.GetNACK(channel_num)); | 1423 EXPECT_EQ(0, GetSendStreamConfig(kSsrc1).rtp.nack.rtp_history_ms); |
1425 } | 1424 } |
1426 | 1425 |
1427 // Test that we can disable NACK on receive streams. | 1426 // Test that we can disable NACK on receive streams. |
1428 TEST_F(WebRtcVoiceEngineTestFake, SetSendCodecDisableNackRecvStreams) { | 1427 TEST_F(WebRtcVoiceEngineTestFake, SetSendCodecDisableNackRecvStreams) { |
1429 EXPECT_TRUE(SetupSendStream()); | 1428 EXPECT_TRUE(SetupSendStream()); |
1430 int channel_num1 = voe_.GetLastChannel(); | |
1431 EXPECT_TRUE(channel_->AddRecvStream(cricket::StreamParams::CreateLegacy(2))); | 1429 EXPECT_TRUE(channel_->AddRecvStream(cricket::StreamParams::CreateLegacy(2))); |
1432 int channel_num2 = voe_.GetLastChannel(); | 1430 int channel_num2 = voe_.GetLastChannel(); |
1433 cricket::AudioSendParameters parameters; | 1431 cricket::AudioSendParameters parameters; |
1434 parameters.codecs.push_back(kOpusCodec); | 1432 parameters.codecs.push_back(kOpusCodec); |
1435 parameters.codecs[0].AddFeedbackParam( | 1433 parameters.codecs[0].AddFeedbackParam( |
1436 cricket::FeedbackParam(cricket::kRtcpFbParamNack, | 1434 cricket::FeedbackParam(cricket::kRtcpFbParamNack, |
1437 cricket::kParamValueEmpty)); | 1435 cricket::kParamValueEmpty)); |
1438 EXPECT_TRUE(channel_->SetSendParameters(parameters)); | 1436 EXPECT_TRUE(channel_->SetSendParameters(parameters)); |
1439 EXPECT_TRUE(voe_.GetNACK(channel_num1)); | 1437 EXPECT_EQ(kRtpHistoryMs, GetSendStreamConfig(kSsrc1).rtp.nack.rtp_history_ms); |
1440 EXPECT_TRUE(voe_.GetNACK(channel_num2)); | 1438 EXPECT_TRUE(voe_.GetNACK(channel_num2)); |
1441 | 1439 |
1442 parameters.codecs.clear(); | 1440 parameters.codecs.clear(); |
1443 parameters.codecs.push_back(kOpusCodec); | 1441 parameters.codecs.push_back(kOpusCodec); |
1444 EXPECT_TRUE(channel_->SetSendParameters(parameters)); | 1442 EXPECT_TRUE(channel_->SetSendParameters(parameters)); |
1445 EXPECT_FALSE(voe_.GetNACK(channel_num1)); | 1443 EXPECT_EQ(0, GetSendStreamConfig(kSsrc1).rtp.nack.rtp_history_ms); |
1446 EXPECT_FALSE(voe_.GetNACK(channel_num2)); | 1444 EXPECT_FALSE(voe_.GetNACK(channel_num2)); |
1447 } | 1445 } |
1448 | 1446 |
1449 // Test that NACK is enabled on a new receive stream. | 1447 // Test that NACK is enabled on a new receive stream. |
1450 TEST_F(WebRtcVoiceEngineTestFake, AddRecvStreamEnableNack) { | 1448 TEST_F(WebRtcVoiceEngineTestFake, AddRecvStreamEnableNack) { |
1451 EXPECT_TRUE(SetupSendStream()); | 1449 EXPECT_TRUE(SetupSendStream()); |
1452 int channel_num = voe_.GetLastChannel(); | |
1453 cricket::AudioSendParameters parameters; | 1450 cricket::AudioSendParameters parameters; |
1454 parameters.codecs.push_back(kIsacCodec); | 1451 parameters.codecs.push_back(kIsacCodec); |
1455 parameters.codecs.push_back(kCn16000Codec); | 1452 parameters.codecs.push_back(kCn16000Codec); |
1456 parameters.codecs[0].AddFeedbackParam( | 1453 parameters.codecs[0].AddFeedbackParam( |
1457 cricket::FeedbackParam(cricket::kRtcpFbParamNack, | 1454 cricket::FeedbackParam(cricket::kRtcpFbParamNack, |
1458 cricket::kParamValueEmpty)); | 1455 cricket::kParamValueEmpty)); |
1459 EXPECT_TRUE(channel_->SetSendParameters(parameters)); | 1456 EXPECT_TRUE(channel_->SetSendParameters(parameters)); |
1460 EXPECT_TRUE(voe_.GetNACK(channel_num)); | 1457 EXPECT_EQ(kRtpHistoryMs, GetSendStreamConfig(kSsrc1).rtp.nack.rtp_history_ms); |
1461 | 1458 |
1462 EXPECT_TRUE(channel_->AddRecvStream(cricket::StreamParams::CreateLegacy(2))); | 1459 EXPECT_TRUE(channel_->AddRecvStream(cricket::StreamParams::CreateLegacy(2))); |
1463 channel_num = voe_.GetLastChannel(); | 1460 int channel_num = voe_.GetLastChannel(); |
1464 EXPECT_TRUE(voe_.GetNACK(channel_num)); | 1461 EXPECT_TRUE(voe_.GetNACK(channel_num)); |
1465 EXPECT_TRUE(channel_->AddRecvStream(cricket::StreamParams::CreateLegacy(3))); | 1462 EXPECT_TRUE(channel_->AddRecvStream(cricket::StreamParams::CreateLegacy(3))); |
1466 channel_num = voe_.GetLastChannel(); | 1463 channel_num = voe_.GetLastChannel(); |
1467 EXPECT_TRUE(voe_.GetNACK(channel_num)); | 1464 EXPECT_TRUE(voe_.GetNACK(channel_num)); |
1468 } | 1465 } |
1469 | 1466 |
1470 // Test that without useinbandfec, Opus FEC is off. | 1467 // Test that without useinbandfec, Opus FEC is off. |
1471 TEST_F(WebRtcVoiceEngineTestFake, SetSendCodecNoOpusFec) { | 1468 TEST_F(WebRtcVoiceEngineTestFake, SetSendCodecNoOpusFec) { |
1472 EXPECT_TRUE(SetupSendStream()); | 1469 EXPECT_TRUE(SetupSendStream()); |
1473 int channel_num = voe_.GetLastChannel(); | 1470 int channel_num = voe_.GetLastChannel(); |
(...skipping 795 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2269 | 2266 |
2270 // Test we can set the correct statistics on all send streams. | 2267 // Test we can set the correct statistics on all send streams. |
2271 TEST_F(WebRtcVoiceEngineTestFake, GetStatsWithMultipleSendStreams) { | 2268 TEST_F(WebRtcVoiceEngineTestFake, GetStatsWithMultipleSendStreams) { |
2272 SetupForMultiSendStream(); | 2269 SetupForMultiSendStream(); |
2273 | 2270 |
2274 // Create send streams. | 2271 // Create send streams. |
2275 for (uint32_t ssrc : kSsrcs4) { | 2272 for (uint32_t ssrc : kSsrcs4) { |
2276 EXPECT_TRUE(channel_->AddSendStream( | 2273 EXPECT_TRUE(channel_->AddSendStream( |
2277 cricket::StreamParams::CreateLegacy(ssrc))); | 2274 cricket::StreamParams::CreateLegacy(ssrc))); |
2278 } | 2275 } |
2279 SetAudioSendStreamStats(); | |
2280 | 2276 |
2281 // Create a receive stream to check that none of the send streams end up in | 2277 // Create a receive stream to check that none of the send streams end up in |
2282 // the receive stream stats. | 2278 // the receive stream stats. |
2283 EXPECT_TRUE(channel_->AddRecvStream( | 2279 EXPECT_TRUE(channel_->AddRecvStream( |
2284 cricket::StreamParams::CreateLegacy(kSsrc2))); | 2280 cricket::StreamParams::CreateLegacy(kSsrc2))); |
| 2281 |
2285 // We need send codec to be set to get all stats. | 2282 // We need send codec to be set to get all stats. |
2286 EXPECT_TRUE(channel_->SetSendParameters(send_parameters_)); | 2283 EXPECT_TRUE(channel_->SetSendParameters(send_parameters_)); |
2287 EXPECT_TRUE(channel_->SetRecvParameters(recv_parameters_)); | 2284 EXPECT_TRUE(channel_->SetRecvParameters(recv_parameters_)); |
| 2285 SetAudioSendStreamStats(); |
2288 | 2286 |
2289 // Check stats for the added streams. | 2287 // Check stats for the added streams. |
2290 { | 2288 { |
2291 cricket::VoiceMediaInfo info; | 2289 cricket::VoiceMediaInfo info; |
2292 EXPECT_EQ(true, channel_->GetStats(&info)); | 2290 EXPECT_EQ(true, channel_->GetStats(&info)); |
2293 | 2291 |
2294 // We have added 4 send streams. We should see empty stats for all. | 2292 // We have added 4 send streams. We should see empty stats for all. |
2295 EXPECT_EQ(static_cast<size_t>(arraysize(kSsrcs4)), info.senders.size()); | 2293 EXPECT_EQ(static_cast<size_t>(arraysize(kSsrcs4)), info.senders.size()); |
2296 for (const auto& sender : info.senders) { | 2294 for (const auto& sender : info.senders) { |
2297 VerifyVoiceSenderInfo(sender, false); | 2295 VerifyVoiceSenderInfo(sender, false); |
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2435 // Test that we can set the outgoing SSRC properly. | 2433 // Test that we can set the outgoing SSRC properly. |
2436 // SSRC is set in SetupSendStream() by calling AddSendStream. | 2434 // SSRC is set in SetupSendStream() by calling AddSendStream. |
2437 TEST_F(WebRtcVoiceEngineTestFake, SetSendSsrc) { | 2435 TEST_F(WebRtcVoiceEngineTestFake, SetSendSsrc) { |
2438 EXPECT_TRUE(SetupSendStream()); | 2436 EXPECT_TRUE(SetupSendStream()); |
2439 EXPECT_TRUE(call_.GetAudioSendStream(kSsrc1)); | 2437 EXPECT_TRUE(call_.GetAudioSendStream(kSsrc1)); |
2440 } | 2438 } |
2441 | 2439 |
2442 TEST_F(WebRtcVoiceEngineTestFake, GetStats) { | 2440 TEST_F(WebRtcVoiceEngineTestFake, GetStats) { |
2443 // Setup. We need send codec to be set to get all stats. | 2441 // Setup. We need send codec to be set to get all stats. |
2444 EXPECT_TRUE(SetupSendStream()); | 2442 EXPECT_TRUE(SetupSendStream()); |
2445 SetAudioSendStreamStats(); | |
2446 // SetupSendStream adds a send stream with kSsrc1, so the receive | 2443 // SetupSendStream adds a send stream with kSsrc1, so the receive |
2447 // stream has to use a different SSRC. | 2444 // stream has to use a different SSRC. |
2448 EXPECT_TRUE(channel_->AddRecvStream( | 2445 EXPECT_TRUE(channel_->AddRecvStream( |
2449 cricket::StreamParams::CreateLegacy(kSsrc2))); | 2446 cricket::StreamParams::CreateLegacy(kSsrc2))); |
2450 EXPECT_TRUE(channel_->SetSendParameters(send_parameters_)); | 2447 EXPECT_TRUE(channel_->SetSendParameters(send_parameters_)); |
2451 EXPECT_TRUE(channel_->SetRecvParameters(recv_parameters_)); | 2448 EXPECT_TRUE(channel_->SetRecvParameters(recv_parameters_)); |
| 2449 SetAudioSendStreamStats(); |
2452 | 2450 |
2453 // Check stats for the added streams. | 2451 // Check stats for the added streams. |
2454 { | 2452 { |
2455 cricket::VoiceMediaInfo info; | 2453 cricket::VoiceMediaInfo info; |
2456 EXPECT_EQ(true, channel_->GetStats(&info)); | 2454 EXPECT_EQ(true, channel_->GetStats(&info)); |
2457 | 2455 |
2458 // We have added one send stream. We should see the stats we've set. | 2456 // We have added one send stream. We should see the stats we've set. |
2459 EXPECT_EQ(1u, info.senders.size()); | 2457 EXPECT_EQ(1u, info.senders.size()); |
2460 VerifyVoiceSenderInfo(info.senders[0], false); | 2458 VerifyVoiceSenderInfo(info.senders[0], false); |
2461 // We have added one receive stream. We should see empty stats. | 2459 // We have added one receive stream. We should see empty stats. |
(...skipping 1071 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3533 cricket::WebRtcVoiceEngine engine( | 3531 cricket::WebRtcVoiceEngine engine( |
3534 nullptr, webrtc::CreateBuiltinAudioDecoderFactory()); | 3532 nullptr, webrtc::CreateBuiltinAudioDecoderFactory()); |
3535 std::unique_ptr<webrtc::Call> call( | 3533 std::unique_ptr<webrtc::Call> call( |
3536 webrtc::Call::Create(webrtc::Call::Config())); | 3534 webrtc::Call::Create(webrtc::Call::Config())); |
3537 cricket::WebRtcVoiceMediaChannel channel(&engine, cricket::MediaConfig(), | 3535 cricket::WebRtcVoiceMediaChannel channel(&engine, cricket::MediaConfig(), |
3538 cricket::AudioOptions(), call.get()); | 3536 cricket::AudioOptions(), call.get()); |
3539 cricket::AudioRecvParameters parameters; | 3537 cricket::AudioRecvParameters parameters; |
3540 parameters.codecs = engine.recv_codecs(); | 3538 parameters.codecs = engine.recv_codecs(); |
3541 EXPECT_TRUE(channel.SetRecvParameters(parameters)); | 3539 EXPECT_TRUE(channel.SetRecvParameters(parameters)); |
3542 } | 3540 } |
OLD | NEW |