diff --git a/media/base/fake_media_engine.cc b/media/base/fake_media_engine.cc index de8073b247..7a8a4094fd 100644 --- a/media/base/fake_media_engine.cc +++ b/media/base/fake_media_engine.cc @@ -463,36 +463,14 @@ VoiceMediaChannel* FakeVoiceEngine::CreateMediaChannel( FakeVoiceMediaChannel* ch = new FakeVoiceMediaChannel(role, this, options, call->network_thread()); - switch (role) { - case MediaChannel::Role::kSend: - send_channels_.push_back(ch); - break; - case MediaChannel::Role::kReceive: - receive_channels_.push_back(ch); - break; - default: - // kBoth isn't supported any more. - RTC_CHECK_NOTREACHED(); - } + channels_.push_back(ch); return ch; } -FakeVoiceMediaChannel* FakeVoiceEngine::GetSendChannel(size_t index) { - return (send_channels_.size() > index) ? send_channels_[index] : NULL; -} -FakeVoiceMediaChannel* FakeVoiceEngine::GetReceiveChannel(size_t index) { - return (receive_channels_.size() > index) ? receive_channels_[index] : NULL; +FakeVoiceMediaChannel* FakeVoiceEngine::GetChannel(size_t index) { + return (channels_.size() > index) ? channels_[index] : NULL; } void FakeVoiceEngine::UnregisterChannel(VoiceMediaChannel* channel) { - switch (channel->role()) { - case MediaChannel::Role::kSend: - send_channels_.erase(absl::c_find(send_channels_, channel)); - break; - case MediaChannel::Role::kReceive: - receive_channels_.erase(absl::c_find(receive_channels_, channel)); - break; - default: - RTC_CHECK_NOTREACHED(); - } + channels_.erase(absl::c_find(channels_, channel)); } const std::vector& FakeVoiceEngine::send_codecs() const { return send_codecs_; @@ -557,41 +535,16 @@ VideoMediaChannel* FakeVideoEngine::CreateMediaChannel( FakeVideoMediaChannel* ch = new FakeVideoMediaChannel(role, this, options, call->network_thread()); - switch (role) { - case MediaChannel::Role::kSend: - send_channels_.emplace_back(ch); - break; - case MediaChannel::Role::kReceive: - receive_channels_.emplace_back(ch); - break; - default: - // kBoth isn't supported - RTC_CHECK_NOTREACHED(); - } + channels_.emplace_back(ch); return ch; } -FakeVideoMediaChannel* FakeVideoEngine::GetSendChannel(size_t index) { - return (send_channels_.size() > index) ? send_channels_[index] : nullptr; -} -FakeVideoMediaChannel* FakeVideoEngine::GetReceiveChannel(size_t index) { - return (receive_channels_.size() > index) ? receive_channels_[index] - : nullptr; +FakeVideoMediaChannel* FakeVideoEngine::GetChannel(size_t index) { + return (channels_.size() > index) ? channels_[index] : nullptr; } void FakeVideoEngine::UnregisterChannel(VideoMediaChannel* channel) { - switch (channel->role()) { - case MediaChannel::Role::kSend: { - auto it = absl::c_find(send_channels_, channel); - RTC_DCHECK(it != send_channels_.end()); - send_channels_.erase(it); - } break; - case MediaChannel::Role::kReceive: { - auto it = absl::c_find(receive_channels_, channel); - RTC_DCHECK(it != receive_channels_.end()); - receive_channels_.erase(it); - } break; - default: - RTC_CHECK_NOTREACHED(); - } + auto it = absl::c_find(channels_, channel); + RTC_DCHECK(it != channels_.end()); + channels_.erase(it); } std::vector FakeVideoEngine::send_codecs(bool use_rtx) const { return send_codecs_; @@ -644,17 +597,11 @@ void FakeMediaEngine::SetVideoCodecs(const std::vector& codecs) { video_->SetRecvCodecs(codecs); } -FakeVoiceMediaChannel* FakeMediaEngine::GetVoiceSendChannel(size_t index) { - return voice_->GetSendChannel(index); +FakeVoiceMediaChannel* FakeMediaEngine::GetVoiceChannel(size_t index) { + return voice_->GetChannel(index); } -FakeVideoMediaChannel* FakeMediaEngine::GetVideoSendChannel(size_t index) { - return video_->GetSendChannel(index); -} -FakeVoiceMediaChannel* FakeMediaEngine::GetVoiceReceiveChannel(size_t index) { - return voice_->GetReceiveChannel(index); -} -FakeVideoMediaChannel* FakeMediaEngine::GetVideoReceiveChannel(size_t index) { - return video_->GetReceiveChannel(index); +FakeVideoMediaChannel* FakeMediaEngine::GetVideoChannel(size_t index) { + return video_->GetChannel(index); } void FakeMediaEngine::set_fail_create_channel(bool fail) { diff --git a/media/base/fake_media_engine.h b/media/base/fake_media_engine.h index ac55fd1b37..7a117d5f70 100644 --- a/media/base/fake_media_engine.h +++ b/media/base/fake_media_engine.h @@ -555,8 +555,7 @@ class FakeVoiceEngine : public VoiceEngineInterface { const AudioOptions& options, const webrtc::CryptoOptions& crypto_options, webrtc::AudioCodecPairId codec_pair_id) override; - FakeVoiceMediaChannel* GetSendChannel(size_t index); - FakeVoiceMediaChannel* GetReceiveChannel(size_t index); + FakeVoiceMediaChannel* GetChannel(size_t index); void UnregisterChannel(VoiceMediaChannel* channel); // TODO(ossu): For proper testing, These should either individually settable @@ -577,8 +576,7 @@ class FakeVoiceEngine : public VoiceEngineInterface { std::vector header_extensions); private: - std::vector send_channels_; - std::vector receive_channels_; + std::vector channels_; std::vector recv_codecs_; std::vector send_codecs_; bool fail_create_channel_; @@ -599,8 +597,7 @@ class FakeVideoEngine : public VideoEngineInterface { const webrtc::CryptoOptions& crypto_options, webrtc::VideoBitrateAllocatorFactory* video_bitrate_allocator_factory) override; - FakeVideoMediaChannel* GetSendChannel(size_t index); - FakeVideoMediaChannel* GetReceiveChannel(size_t index); + FakeVideoMediaChannel* GetChannel(size_t index); void UnregisterChannel(VideoMediaChannel* channel); std::vector send_codecs() const override { return send_codecs(true); @@ -619,8 +616,7 @@ class FakeVideoEngine : public VideoEngineInterface { std::vector header_extensions); private: - std::vector send_channels_; - std::vector receive_channels_; + std::vector channels_; std::vector send_codecs_; std::vector recv_codecs_; bool capture_; @@ -642,10 +638,8 @@ class FakeMediaEngine : public CompositeMediaEngine { void SetAudioSendCodecs(const std::vector& codecs); void SetVideoCodecs(const std::vector& codecs); - FakeVoiceMediaChannel* GetVoiceSendChannel(size_t index); - FakeVideoMediaChannel* GetVideoSendChannel(size_t index); - FakeVoiceMediaChannel* GetVoiceReceiveChannel(size_t index); - FakeVideoMediaChannel* GetVideoReceiveChannel(size_t index); + FakeVoiceMediaChannel* GetVoiceChannel(size_t index); + FakeVideoMediaChannel* GetVideoChannel(size_t index); void set_fail_create_channel(bool fail); diff --git a/pc/audio_rtp_receiver_unittest.cc b/pc/audio_rtp_receiver_unittest.cc index 5a3383f94c..eb77212b2a 100644 --- a/pc/audio_rtp_receiver_unittest.cc +++ b/pc/audio_rtp_receiver_unittest.cc @@ -39,8 +39,7 @@ class AudioRtpReceiverTest : public ::testing::Test { std::string(), std::vector(), false)), - media_channel_(cricket::MediaChannel::Role::kReceive, - rtc::Thread::Current()) { + media_channel_(rtc::Thread::Current()) { EXPECT_CALL(media_channel_, SetRawAudioSink(kSsrc, _)); EXPECT_CALL(media_channel_, SetBaseMinimumPlayoutDelayMs(kSsrc, _)); } @@ -102,8 +101,7 @@ TEST_F(AudioRtpReceiverTest, VolumesSetBeforeStartingAreRespected) { TEST(AudioRtpReceiver, OnChangedNotificationsAfterConstruction) { webrtc::test::RunLoop loop; auto* thread = rtc::Thread::Current(); // Points to loop's thread. - cricket::MockVoiceMediaChannel media_channel( - cricket::MediaChannel::Role::kReceive, thread); + cricket::MockVoiceMediaChannel media_channel(thread); auto receiver = rtc::make_ref_counted( thread, std::string(), std::vector(), true, &media_channel); diff --git a/pc/peer_connection_media_unittest.cc b/pc/peer_connection_media_unittest.cc index 56ff8ffa35..d1a10a4922 100644 --- a/pc/peer_connection_media_unittest.cc +++ b/pc/peer_connection_media_unittest.cc @@ -290,33 +290,29 @@ TEST_P(PeerConnectionMediaTest, AudioVideoOfferAnswerCreateSendRecvStreams) { ASSERT_TRUE( caller->SetRemoteDescription(callee->CreateAnswerAndSetAsLocal())); - auto* caller_voice_send = caller->media_engine()->GetVoiceSendChannel(0); - auto* caller_voice_receive = - caller->media_engine()->GetVoiceReceiveChannel(0); + auto* caller_voice_send = caller->media_engine()->GetVoiceChannel(0); + auto* caller_voice_receive = caller->media_engine()->GetVoiceChannel(1); EXPECT_THAT(GetIds(caller_voice_receive->recv_streams()), ElementsAre(kCalleeAudioId)); EXPECT_THAT(GetIds(caller_voice_send->send_streams()), ElementsAre(kCallerAudioId)); - auto* caller_video_send = caller->media_engine()->GetVideoSendChannel(0); - auto* caller_video_receive = - caller->media_engine()->GetVideoReceiveChannel(0); + auto* caller_video_send = caller->media_engine()->GetVideoChannel(0); + auto* caller_video_receive = caller->media_engine()->GetVideoChannel(1); EXPECT_THAT(GetIds(caller_video_receive->recv_streams()), ElementsAre(kCalleeVideoId)); EXPECT_THAT(GetIds(caller_video_send->send_streams()), ElementsAre(kCallerVideoId)); - auto* callee_voice_send = callee->media_engine()->GetVoiceSendChannel(0); - auto* callee_voice_receive = - callee->media_engine()->GetVoiceReceiveChannel(0); + auto* callee_voice_send = callee->media_engine()->GetVoiceChannel(0); + auto* callee_voice_receive = callee->media_engine()->GetVoiceChannel(1); EXPECT_THAT(GetIds(callee_voice_receive->recv_streams()), ElementsAre(kCallerAudioId)); EXPECT_THAT(GetIds(callee_voice_send->send_streams()), ElementsAre(kCalleeAudioId)); - auto* callee_video_send = callee->media_engine()->GetVideoSendChannel(0); - auto* callee_video_receive = - callee->media_engine()->GetVideoReceiveChannel(0); + auto* callee_video_send = callee->media_engine()->GetVideoChannel(0); + auto* callee_video_receive = callee->media_engine()->GetVideoChannel(1); EXPECT_THAT(GetIds(callee_video_receive->recv_streams()), ElementsAre(kCallerVideoId)); EXPECT_THAT(GetIds(callee_video_send->send_streams()), @@ -342,10 +338,8 @@ TEST_F(PeerConnectionMediaTestUnifiedPlan, ASSERT_TRUE(caller->ExchangeOfferAnswerWith(callee.get())); - ASSERT_FALSE(callee->media_engine()->GetVoiceSendChannel(0)); - ASSERT_FALSE(callee->media_engine()->GetVideoSendChannel(0)); - ASSERT_FALSE(callee->media_engine()->GetVoiceReceiveChannel(0)); - ASSERT_FALSE(callee->media_engine()->GetVideoReceiveChannel(0)); + ASSERT_FALSE(callee->media_engine()->GetVoiceChannel(0)); + ASSERT_FALSE(callee->media_engine()->GetVideoChannel(0)); } // Test that removing streams from a subsequent offer causes the receive streams @@ -365,14 +359,12 @@ TEST_F(PeerConnectionMediaTestPlanB, EmptyRemoteOfferRemovesRecvStreams) { ASSERT_TRUE(caller->ExchangeOfferAnswerWith(callee.get())); - auto callee_voice_send = callee->media_engine()->GetVoiceSendChannel(0); - auto callee_video_send = callee->media_engine()->GetVideoSendChannel(0); - auto callee_voice_receive = callee->media_engine()->GetVoiceReceiveChannel(0); - auto callee_video_receive = callee->media_engine()->GetVideoReceiveChannel(0); - EXPECT_EQ(1u, callee_voice_send->send_streams().size()); - EXPECT_EQ(0u, callee_voice_receive->recv_streams().size()); - EXPECT_EQ(1u, callee_video_send->send_streams().size()); - EXPECT_EQ(0u, callee_video_receive->recv_streams().size()); + auto callee_voice = callee->media_engine()->GetVoiceChannel(0); + auto callee_video = callee->media_engine()->GetVideoChannel(0); + EXPECT_EQ(1u, callee_voice->send_streams().size()); + EXPECT_EQ(0u, callee_voice->recv_streams().size()); + EXPECT_EQ(1u, callee_video->send_streams().size()); + EXPECT_EQ(0u, callee_video->recv_streams().size()); } // Test enabling of simulcast with Plan B semantics. @@ -444,8 +436,8 @@ TEST_F(PeerConnectionMediaTestUnifiedPlan, ASSERT_TRUE(caller->ExchangeOfferAnswerWith(callee.get())); - EXPECT_FALSE(callee->media_engine()->GetVoiceReceiveChannel(0)); - EXPECT_FALSE(callee->media_engine()->GetVideoReceiveChannel(0)); + EXPECT_FALSE(callee->media_engine()->GetVoiceChannel(0)); + EXPECT_FALSE(callee->media_engine()->GetVideoChannel(0)); } // Test that removing streams from a subsequent answer causes the send streams @@ -465,10 +457,10 @@ TEST_F(PeerConnectionMediaTestPlanB, EmptyLocalAnswerRemovesSendStreams) { ASSERT_TRUE(caller->ExchangeOfferAnswerWith(callee.get())); - auto callee_voice_send = callee->media_engine()->GetVoiceSendChannel(0); - auto callee_voice_receive = callee->media_engine()->GetVoiceReceiveChannel(0); - auto callee_video_send = callee->media_engine()->GetVideoSendChannel(0); - auto callee_video_receive = callee->media_engine()->GetVideoReceiveChannel(0); + auto callee_voice_send = callee->media_engine()->GetVoiceChannel(0); + auto callee_voice_receive = callee->media_engine()->GetVoiceChannel(1); + auto callee_video_send = callee->media_engine()->GetVideoChannel(0); + auto callee_video_receive = callee->media_engine()->GetVideoChannel(1); EXPECT_EQ(0u, callee_voice_send->send_streams().size()); EXPECT_EQ(1u, callee_voice_receive->recv_streams().size()); EXPECT_EQ(0u, callee_video_send->send_streams().size()); @@ -489,10 +481,10 @@ TEST_P(PeerConnectionMediaTest, NewStreamInRemoteOfferAddsRecvStreams) { ASSERT_TRUE(caller->ExchangeOfferAnswerWith(callee.get())); - auto a1 = callee->media_engine()->GetVoiceReceiveChannel(0); - auto a2 = callee->media_engine()->GetVoiceReceiveChannel(1); - auto v1 = callee->media_engine()->GetVideoReceiveChannel(0); - auto v2 = callee->media_engine()->GetVideoReceiveChannel(1); + auto a1 = callee->media_engine()->GetVoiceChannel(1); + auto a2 = callee->media_engine()->GetVoiceChannel(3); + auto v1 = callee->media_engine()->GetVideoChannel(1); + auto v2 = callee->media_engine()->GetVideoChannel(3); if (IsUnifiedPlan()) { ASSERT_TRUE(a1); EXPECT_EQ(1u, a1->recv_streams().size()); @@ -535,9 +527,9 @@ TEST_P(PeerConnectionMediaTest, NewStreamInLocalAnswerAddsSendStreams) { ASSERT_TRUE(caller->ExchangeOfferAnswerWith(callee.get(), offer_options, answer_options)); - auto callee_voice = callee->media_engine()->GetVoiceSendChannel(0); + auto callee_voice = callee->media_engine()->GetVoiceChannel(0); ASSERT_TRUE(callee_voice); - auto callee_video = callee->media_engine()->GetVideoSendChannel(0); + auto callee_video = callee->media_engine()->GetVideoChannel(0); ASSERT_TRUE(callee_video); if (IsUnifiedPlan()) { @@ -1110,12 +1102,12 @@ TEST_P(PeerConnectionMediaTest, TestAVOfferWithAudioOnlyAnswer) { ASSERT_TRUE(caller->SetRemoteDescription( callee->CreateAnswerAndSetAsLocal(options_reject_video))); - auto caller_voice_send = caller->media_engine()->GetVoiceSendChannel(0); - auto caller_voice_receive = caller->media_engine()->GetVoiceReceiveChannel(0); + auto caller_voice_send = caller->media_engine()->GetVoiceChannel(0); + auto caller_voice_receive = caller->media_engine()->GetVoiceChannel(1); ASSERT_TRUE(caller_voice_send && caller_voice_receive); EXPECT_EQ(0u, caller_voice_receive->recv_streams().size()); EXPECT_EQ(1u, caller_voice_send->send_streams().size()); - auto caller_video = caller->media_engine()->GetVideoSendChannel(0); + auto caller_video = caller->media_engine()->GetVideoChannel(0); EXPECT_FALSE(caller_video); // Callee adds its own audio/video stream and offers to receive audio/video @@ -1126,13 +1118,13 @@ TEST_P(PeerConnectionMediaTest, TestAVOfferWithAudioOnlyAnswer) { ASSERT_TRUE( caller->SetRemoteDescription(callee->CreateAnswerAndSetAsLocal())); - auto callee_voice_send = callee->media_engine()->GetVoiceSendChannel(0); - auto callee_voice_receive = callee->media_engine()->GetVoiceReceiveChannel(0); + auto callee_voice_send = callee->media_engine()->GetVoiceChannel(0); + auto callee_voice_receive = callee->media_engine()->GetVoiceChannel(1); ASSERT_TRUE(callee_voice_send && callee_voice_receive); EXPECT_EQ(1u, callee_voice_receive->recv_streams().size()); EXPECT_EQ(1u, callee_voice_send->send_streams().size()); - auto callee_video_send = callee->media_engine()->GetVideoSendChannel(0); - auto callee_video_receive = callee->media_engine()->GetVideoReceiveChannel(0); + auto callee_video_send = callee->media_engine()->GetVideoChannel(0); + auto callee_video_receive = callee->media_engine()->GetVideoChannel(1); ASSERT_TRUE(callee_video_send && callee_video_receive); EXPECT_EQ(1u, callee_video_receive->recv_streams().size()); EXPECT_EQ(1u, callee_video_send->send_streams().size()); @@ -1143,12 +1135,12 @@ TEST_P(PeerConnectionMediaTest, TestAVOfferWithAudioOnlyAnswer) { ASSERT_TRUE( callee->SetLocalDescription(callee->CreateAnswer(options_reject_video))); - callee_voice_send = callee->media_engine()->GetVoiceSendChannel(0); - callee_voice_receive = callee->media_engine()->GetVoiceReceiveChannel(0); + callee_voice_send = callee->media_engine()->GetVoiceChannel(0); + callee_voice_receive = callee->media_engine()->GetVoiceChannel(1); ASSERT_TRUE(callee_voice_send && callee_voice_receive); EXPECT_EQ(1u, callee_voice_receive->recv_streams().size()); EXPECT_EQ(1u, callee_voice_send->send_streams().size()); - auto callee_video = callee->media_engine()->GetVideoSendChannel(0); + auto callee_video = callee->media_engine()->GetVideoChannel(0); EXPECT_FALSE(callee_video); } @@ -1184,13 +1176,12 @@ TEST_P(PeerConnectionMediaTest, TestAVOfferWithVideoOnlyAnswer) { ASSERT_TRUE(caller->SetRemoteDescription( callee->CreateAnswerAndSetAsLocal(options_reject_audio))); - auto caller_voice = caller->media_engine()->GetVoiceSendChannel(0); + auto caller_voice = caller->media_engine()->GetVoiceChannel(0); EXPECT_FALSE(caller_voice); - auto caller_video_send = caller->media_engine()->GetVideoSendChannel(0); - auto caller_video_receive = caller->media_engine()->GetVideoReceiveChannel(0); - ASSERT_TRUE(caller_video_send && caller_video_receive); - EXPECT_EQ(0u, caller_video_receive->recv_streams().size()); - EXPECT_EQ(1u, caller_video_send->send_streams().size()); + auto caller_video = caller->media_engine()->GetVideoChannel(0); + ASSERT_TRUE(caller_video); + EXPECT_EQ(0u, caller_video->recv_streams().size()); + EXPECT_EQ(1u, caller_video->send_streams().size()); // Callee adds its own audio/video stream and offers to receive audio/video // too. @@ -1200,13 +1191,13 @@ TEST_P(PeerConnectionMediaTest, TestAVOfferWithVideoOnlyAnswer) { ASSERT_TRUE(caller->SetRemoteDescription( callee->CreateAnswerAndSetAsLocal(options_no_bundle))); - auto callee_voice_send = callee->media_engine()->GetVoiceSendChannel(0); - auto callee_voice_receive = callee->media_engine()->GetVoiceReceiveChannel(0); + auto callee_voice_send = callee->media_engine()->GetVoiceChannel(0); + auto callee_voice_receive = callee->media_engine()->GetVoiceChannel(1); ASSERT_TRUE(callee_voice_send && callee_voice_receive); EXPECT_EQ(1u, callee_voice_receive->recv_streams().size()); EXPECT_EQ(1u, callee_voice_send->send_streams().size()); - auto callee_video_send = callee->media_engine()->GetVideoSendChannel(0); - auto callee_video_receive = callee->media_engine()->GetVideoReceiveChannel(0); + auto callee_video_send = callee->media_engine()->GetVideoChannel(0); + auto callee_video_receive = callee->media_engine()->GetVideoChannel(1); ASSERT_TRUE(callee_video_send && callee_video_receive); EXPECT_EQ(1u, callee_video_receive->recv_streams().size()); EXPECT_EQ(1u, callee_video_send->send_streams().size()); @@ -1217,10 +1208,10 @@ TEST_P(PeerConnectionMediaTest, TestAVOfferWithVideoOnlyAnswer) { ASSERT_TRUE( callee->SetLocalDescription(callee->CreateAnswer(options_reject_audio))); - auto callee_voice = callee->media_engine()->GetVoiceReceiveChannel(0); + auto callee_voice = callee->media_engine()->GetVoiceChannel(0); EXPECT_FALSE(callee_voice); - callee_video_send = callee->media_engine()->GetVideoSendChannel(0); - callee_video_receive = callee->media_engine()->GetVideoReceiveChannel(0); + callee_video_send = callee->media_engine()->GetVideoChannel(0); + callee_video_receive = callee->media_engine()->GetVideoChannel(1); ASSERT_TRUE(callee_video_send && callee_video_receive); EXPECT_EQ(1u, callee_video_receive->recv_streams().size()); EXPECT_EQ(1u, callee_video_send->send_streams().size()); @@ -1235,7 +1226,7 @@ TEST_P(PeerConnectionMediaTest, MediaEngineErrorPropagatedToClients) { ASSERT_TRUE(callee->SetRemoteDescription(caller->CreateOfferAndSetAsLocal())); - auto video_channel = caller->media_engine()->GetVideoSendChannel(0); + auto video_channel = caller->media_engine()->GetVideoChannel(0); video_channel->set_fail_set_send_codecs(true); std::string error; @@ -1258,7 +1249,7 @@ TEST_P(PeerConnectionMediaTest, ASSERT_TRUE(callee->SetRemoteDescription(caller->CreateOfferAndSetAsLocal())); - auto video_channel = caller->media_engine()->GetVideoSendChannel(0); + auto video_channel = caller->media_engine()->GetVideoChannel(0); video_channel->set_fail_set_send_codecs(true); EXPECT_FALSE( @@ -1356,7 +1347,7 @@ TEST_P(PeerConnectionMediaTest, ASSERT_TRUE(caller->SetLocalDescription(caller->CreateOffer())); - auto caller_voice = caller->media_engine()->GetVoiceSendChannel(0); + auto caller_voice = caller->media_engine()->GetVoiceChannel(0); ASSERT_TRUE(caller_voice); const cricket::AudioOptions& audio_options = caller_voice->options(); EXPECT_EQ(config.combined_audio_video_bwe, diff --git a/pc/rtp_sender_receiver_unittest.cc b/pc/rtp_sender_receiver_unittest.cc index 8be3a0ac9d..5e7c1f65d7 100644 --- a/pc/rtp_sender_receiver_unittest.cc +++ b/pc/rtp_sender_receiver_unittest.cc @@ -119,60 +119,45 @@ class RtpSenderReceiverTest // Create the channels, discard the result; we get them later. // Fake media channels are owned by the media engine. media_engine_->voice().CreateMediaChannel( - cricket::MediaChannel::Role::kSend, &fake_call_, cricket::MediaConfig(), + cricket::MediaChannel::Role::kBoth, &fake_call_, cricket::MediaConfig(), cricket::AudioOptions(), webrtc::CryptoOptions(), webrtc::AudioCodecPairId::Create()); media_engine_->video().CreateMediaChannel( - cricket::MediaChannel::Role::kSend, &fake_call_, cricket::MediaConfig(), + cricket::MediaChannel::Role::kBoth, &fake_call_, cricket::MediaConfig(), cricket::VideoOptions(), webrtc::CryptoOptions(), video_bitrate_allocator_factory_.get()); - media_engine_->voice().CreateMediaChannel( - cricket::MediaChannel::Role::kReceive, &fake_call_, - cricket::MediaConfig(), cricket::AudioOptions(), - webrtc::CryptoOptions(), webrtc::AudioCodecPairId::Create()); - media_engine_->video().CreateMediaChannel( - cricket::MediaChannel::Role::kReceive, &fake_call_, - cricket::MediaConfig(), cricket::VideoOptions(), - webrtc::CryptoOptions(), video_bitrate_allocator_factory_.get()); + // TODO(hta): Split into sender and receiver channels - voice_media_send_channel_ = - absl::WrapUnique(media_engine_->GetVoiceSendChannel(0)); - video_media_send_channel_ = - absl::WrapUnique(media_engine_->GetVideoSendChannel(0)); - voice_media_receive_channel_ = - absl::WrapUnique(media_engine_->GetVoiceReceiveChannel(0)); - video_media_receive_channel_ = - absl::WrapUnique(media_engine_->GetVideoReceiveChannel(0)); + voice_media_channel_ = absl::WrapUnique(media_engine_->GetVoiceChannel(0)); + video_media_channel_ = absl::WrapUnique(media_engine_->GetVideoChannel(0)); - RTC_CHECK(voice_media_send_channel()); - RTC_CHECK(video_media_send_channel()); - RTC_CHECK(voice_media_receive_channel()); - RTC_CHECK(video_media_receive_channel()); + RTC_CHECK(voice_media_channel()); + RTC_CHECK(video_media_channel()); // Create sender channel objects - voice_send_channel_ = std::make_unique( - voice_media_send_channel()); - video_send_channel_ = std::make_unique( - video_media_send_channel()); + voice_send_channel_ = + std::make_unique(voice_media_channel()); + video_send_channel_ = + std::make_unique(video_media_channel()); // Create streams for predefined SSRCs. Streams need to exist in order // for the senders and receievers to apply parameters to them. // Normally these would be created by SetLocalDescription and // SetRemoteDescription. - voice_media_send_channel_->AddSendStream( + voice_media_channel_->AddSendStream( cricket::StreamParams::CreateLegacy(kAudioSsrc)); - voice_media_receive_channel_->AddRecvStream( + voice_media_channel_->AddRecvStream( cricket::StreamParams::CreateLegacy(kAudioSsrc)); - voice_media_send_channel_->AddSendStream( + voice_media_channel_->AddSendStream( cricket::StreamParams::CreateLegacy(kAudioSsrc2)); - voice_media_receive_channel_->AddRecvStream( + voice_media_channel_->AddRecvStream( cricket::StreamParams::CreateLegacy(kAudioSsrc2)); - video_media_send_channel_->AddSendStream( + video_media_channel_->AddSendStream( cricket::StreamParams::CreateLegacy(kVideoSsrc)); - video_media_receive_channel_->AddRecvStream( + video_media_channel_->AddRecvStream( cricket::StreamParams::CreateLegacy(kVideoSsrc)); - video_media_send_channel_->AddSendStream( + video_media_channel_->AddSendStream( cricket::StreamParams::CreateLegacy(kVideoSsrc2)); - video_media_receive_channel_->AddRecvStream( + video_media_channel_->AddRecvStream( cricket::StreamParams::CreateLegacy(kVideoSsrc2)); } @@ -200,7 +185,7 @@ class RtpSenderReceiverTest const cricket::AudioCodec kTelephoneEventCodec(106, "telephone-event", 8000, 0, 1); params.codecs.push_back(kTelephoneEventCodec); - voice_media_send_channel()->SetSendParameters(params); + voice_media_channel()->SetSendParameters(params); } void AddVideoTrack() { AddVideoTrack(false); } @@ -236,7 +221,7 @@ class RtpSenderReceiverTest audio_rtp_sender_ = AudioRtpSender::Create(worker_thread_, /*id=*/"", nullptr, nullptr); audio_rtp_sender_->SetMediaChannel( - voice_media_send_channel()->AsVoiceSendChannel()); + voice_media_channel()->AsVoiceSendChannel()); } void CreateVideoRtpSender(uint32_t ssrc) { @@ -255,7 +240,7 @@ class RtpSenderReceiverTest } uint32_t CreateVideoRtpSender(const cricket::StreamParams& stream_params) { - video_media_send_channel_->AddSendStream(stream_params); + video_media_channel_->AddSendStream(stream_params); uint32_t primary_ssrc = stream_params.first_ssrc(); CreateVideoRtpSender(primary_ssrc); return primary_ssrc; @@ -289,7 +274,7 @@ class RtpSenderReceiverTest EXPECT_CALL(*set_streams_observer, OnSetStreams()); video_rtp_sender_->SetStreams({local_stream_->id()}); video_rtp_sender_->SetMediaChannel( - video_media_send_channel()->AsVideoSendChannel()); + video_media_channel()->AsVideoSendChannel()); video_rtp_sender_->SetSsrc(ssrc); VerifyVideoChannelInput(ssrc); } @@ -297,7 +282,7 @@ class RtpSenderReceiverTest video_rtp_sender_ = VideoRtpSender::Create(worker_thread_, /*id=*/"", nullptr); video_rtp_sender_->SetMediaChannel( - video_media_send_channel()->AsVideoSendChannel()); + video_media_channel()->AsVideoSendChannel()); } void DestroyAudioRtpSender() { @@ -316,7 +301,7 @@ class RtpSenderReceiverTest rtc::Thread::Current(), kAudioTrackId, streams, /*is_unified_plan=*/true); audio_rtp_receiver_->SetMediaChannel( - voice_media_receive_channel()->AsVoiceReceiveChannel()); + voice_media_channel()->AsVoiceReceiveChannel()); audio_rtp_receiver_->SetupMediaChannel(kAudioSsrc); audio_track_ = audio_rtp_receiver_->audio_track(); VerifyVoiceChannelOutput(); @@ -327,7 +312,7 @@ class RtpSenderReceiverTest video_rtp_receiver_ = rtc::make_ref_counted( rtc::Thread::Current(), kVideoTrackId, streams); video_rtp_receiver_->SetMediaChannel( - video_media_receive_channel()->AsVideoReceiveChannel()); + video_media_channel()->AsVideoReceiveChannel()); video_rtp_receiver_->SetupMediaChannel(kVideoSsrc); video_track_ = video_rtp_receiver_->video_track(); VerifyVideoChannelOutput(); @@ -342,13 +327,13 @@ class RtpSenderReceiverTest ssrcs.push_back(kVideoSsrcSimulcast + i); cricket::StreamParams stream_params = cricket::CreateSimStreamParams("cname", ssrcs); - video_media_receive_channel_->AddRecvStream(stream_params); + video_media_channel_->AddRecvStream(stream_params); uint32_t primary_ssrc = stream_params.first_ssrc(); video_rtp_receiver_ = rtc::make_ref_counted( rtc::Thread::Current(), kVideoTrackId, streams); video_rtp_receiver_->SetMediaChannel( - video_media_receive_channel()->AsVideoReceiveChannel()); + video_media_channel()->AsVideoReceiveChannel()); video_rtp_receiver_->SetupMediaChannel(primary_ssrc); video_track_ = video_rtp_receiver_->video_track(); } @@ -375,55 +360,53 @@ class RtpSenderReceiverTest void VerifyVoiceChannelInput(uint32_t ssrc) { // Verify that the media channel has an audio source, and the stream isn't // muted. - EXPECT_TRUE(voice_media_send_channel()->HasSource(ssrc)); - EXPECT_FALSE(voice_media_send_channel()->IsStreamMuted(ssrc)); + EXPECT_TRUE(voice_media_channel()->HasSource(ssrc)); + EXPECT_FALSE(voice_media_channel()->IsStreamMuted(ssrc)); } void VerifyVideoChannelInput() { VerifyVideoChannelInput(kVideoSsrc); } void VerifyVideoChannelInput(uint32_t ssrc) { // Verify that the media channel has a video source, - EXPECT_TRUE(video_media_send_channel_->HasSource(ssrc)); + EXPECT_TRUE(video_media_channel_->HasSource(ssrc)); } void VerifyVoiceChannelNoInput() { VerifyVoiceChannelNoInput(kAudioSsrc); } void VerifyVoiceChannelNoInput(uint32_t ssrc) { // Verify that the media channel's source is reset. - EXPECT_FALSE(voice_media_receive_channel()->HasSource(ssrc)); + EXPECT_FALSE(voice_media_channel()->HasSource(ssrc)); } void VerifyVideoChannelNoInput() { VerifyVideoChannelNoInput(kVideoSsrc); } void VerifyVideoChannelNoInput(uint32_t ssrc) { // Verify that the media channel's source is reset. - EXPECT_FALSE(video_media_receive_channel_->HasSource(ssrc)); + EXPECT_FALSE(video_media_channel_->HasSource(ssrc)); } void VerifyVoiceChannelOutput() { // Verify that the volume is initialized to 1. double volume; - EXPECT_TRUE( - voice_media_receive_channel()->GetOutputVolume(kAudioSsrc, &volume)); + EXPECT_TRUE(voice_media_channel()->GetOutputVolume(kAudioSsrc, &volume)); EXPECT_EQ(1, volume); } void VerifyVideoChannelOutput() { // Verify that the media channel has a sink. - EXPECT_TRUE(video_media_receive_channel_->HasSink(kVideoSsrc)); + EXPECT_TRUE(video_media_channel_->HasSink(kVideoSsrc)); } void VerifyVoiceChannelNoOutput() { // Verify that the volume is reset to 0. double volume; - EXPECT_TRUE( - voice_media_receive_channel()->GetOutputVolume(kAudioSsrc, &volume)); + EXPECT_TRUE(voice_media_channel()->GetOutputVolume(kAudioSsrc, &volume)); EXPECT_EQ(0, volume); } void VerifyVideoChannelNoOutput() { // Verify that the media channel's sink is reset. - EXPECT_FALSE(video_media_receive_channel_->HasSink(kVideoSsrc)); + EXPECT_FALSE(video_media_channel_->HasSink(kVideoSsrc)); } // Verifies that the encoding layers contain the specified RIDs. @@ -500,8 +483,7 @@ class RtpSenderReceiverTest RunDisableEncodingLayersTest(all_layers, disabled_layers, video_rtp_sender_.get()); - auto channel_parameters = - video_media_send_channel_->GetRtpSendParameters(ssrc); + auto channel_parameters = video_media_channel_->GetRtpSendParameters(ssrc); ASSERT_EQ(channel_parameters.encodings.size(), all_layers.size()); for (size_t i = 0; i < all_layers.size(); ++i) { EXPECT_EQ(all_layers[i], channel_parameters.encodings[i].rid); @@ -524,17 +506,11 @@ class RtpSenderReceiverTest } protected: - cricket::FakeVideoMediaChannel* video_media_send_channel() { - return video_media_send_channel_.get(); + cricket::FakeVideoMediaChannel* video_media_channel() { + return video_media_channel_.get(); } - cricket::FakeVoiceMediaChannel* voice_media_send_channel() { - return voice_media_send_channel_.get(); - } - cricket::FakeVideoMediaChannel* video_media_receive_channel() { - return video_media_receive_channel_.get(); - } - cricket::FakeVoiceMediaChannel* voice_media_receive_channel() { - return voice_media_receive_channel_.get(); + cricket::FakeVoiceMediaChannel* voice_media_channel() { + return voice_media_channel_.get(); } test::RunLoop run_loop_; @@ -550,10 +526,8 @@ class RtpSenderReceiverTest std::unique_ptr media_engine_; rtc::UniqueRandomIdGenerator ssrc_generator_; cricket::FakeCall fake_call_; - std::unique_ptr voice_media_send_channel_; - std::unique_ptr video_media_send_channel_; - std::unique_ptr voice_media_receive_channel_; - std::unique_ptr video_media_receive_channel_; + std::unique_ptr voice_media_channel_; + std::unique_ptr video_media_channel_; std::unique_ptr voice_send_channel_; std::unique_ptr video_send_channel_; rtc::scoped_refptr audio_rtp_sender_; @@ -611,7 +585,7 @@ TEST_F(RtpSenderReceiverTest, LocalAudioSourceOptionsApplied) { auto source = LocalAudioSource::Create(&options); CreateAudioRtpSender(source); - EXPECT_EQ(true, voice_media_send_channel()->options().echo_cancellation); + EXPECT_EQ(true, voice_media_channel()->options().echo_cancellation); DestroyAudioRtpSender(); } @@ -622,10 +596,10 @@ TEST_F(RtpSenderReceiverTest, LocalAudioTrackDisable) { CreateAudioRtpSender(); audio_track_->set_enabled(false); - EXPECT_TRUE(voice_media_send_channel()->IsStreamMuted(kAudioSsrc)); + EXPECT_TRUE(voice_media_channel()->IsStreamMuted(kAudioSsrc)); audio_track_->set_enabled(true); - EXPECT_FALSE(voice_media_send_channel()->IsStreamMuted(kAudioSsrc)); + EXPECT_FALSE(voice_media_channel()->IsStreamMuted(kAudioSsrc)); DestroyAudioRtpSender(); } @@ -636,22 +610,19 @@ TEST_F(RtpSenderReceiverTest, RemoteAudioTrackDisable) { CreateAudioRtpReceiver(); double volume; - EXPECT_TRUE( - voice_media_receive_channel()->GetOutputVolume(kAudioSsrc, &volume)); + EXPECT_TRUE(voice_media_channel()->GetOutputVolume(kAudioSsrc, &volume)); EXPECT_EQ(1, volume); // Handling of enable/disable is applied asynchronously. audio_track_->set_enabled(false); run_loop_.Flush(); - EXPECT_TRUE( - voice_media_receive_channel()->GetOutputVolume(kAudioSsrc, &volume)); + EXPECT_TRUE(voice_media_channel()->GetOutputVolume(kAudioSsrc, &volume)); EXPECT_EQ(0, volume); audio_track_->set_enabled(true); run_loop_.Flush(); - EXPECT_TRUE( - voice_media_receive_channel()->GetOutputVolume(kAudioSsrc, &volume)); + EXPECT_TRUE(voice_media_channel()->GetOutputVolume(kAudioSsrc, &volume)); EXPECT_EQ(1, volume); DestroyAudioRtpReceiver(); @@ -706,8 +677,7 @@ TEST_F(RtpSenderReceiverTest, RemoteAudioTrackSetVolume) { double volume; audio_track_->GetSource()->SetVolume(0.5); run_loop_.Flush(); - EXPECT_TRUE( - voice_media_receive_channel()->GetOutputVolume(kAudioSsrc, &volume)); + EXPECT_TRUE(voice_media_channel()->GetOutputVolume(kAudioSsrc, &volume)); EXPECT_EQ(0.5, volume); // Disable the audio track, this should prevent setting the volume. @@ -715,22 +685,19 @@ TEST_F(RtpSenderReceiverTest, RemoteAudioTrackSetVolume) { RTC_DCHECK_EQ(worker_thread_, run_loop_.task_queue()); run_loop_.Flush(); audio_track_->GetSource()->SetVolume(0.8); - EXPECT_TRUE( - voice_media_receive_channel()->GetOutputVolume(kAudioSsrc, &volume)); + EXPECT_TRUE(voice_media_channel()->GetOutputVolume(kAudioSsrc, &volume)); EXPECT_EQ(0, volume); // When the track is enabled, the previously set volume should take effect. audio_track_->set_enabled(true); run_loop_.Flush(); - EXPECT_TRUE( - voice_media_receive_channel()->GetOutputVolume(kAudioSsrc, &volume)); + EXPECT_TRUE(voice_media_channel()->GetOutputVolume(kAudioSsrc, &volume)); EXPECT_EQ(0.8, volume); // Try changing volume one more time. audio_track_->GetSource()->SetVolume(0.9); run_loop_.Flush(); - EXPECT_TRUE( - voice_media_receive_channel()->GetOutputVolume(kAudioSsrc, &volume)); + EXPECT_TRUE(voice_media_channel()->GetOutputVolume(kAudioSsrc, &volume)); EXPECT_EQ(0.9, volume); DestroyAudioRtpReceiver(); @@ -739,16 +706,16 @@ TEST_F(RtpSenderReceiverTest, RemoteAudioTrackSetVolume) { TEST_F(RtpSenderReceiverTest, AudioRtpReceiverDelay) { CreateAudioRtpReceiver(); VerifyRtpReceiverDelayBehaviour( - voice_media_receive_channel()->AsVoiceReceiveChannel(), - audio_rtp_receiver_.get(), kAudioSsrc); + voice_media_channel()->AsVoiceReceiveChannel(), audio_rtp_receiver_.get(), + kAudioSsrc); DestroyAudioRtpReceiver(); } TEST_F(RtpSenderReceiverTest, VideoRtpReceiverDelay) { CreateVideoRtpReceiver(); VerifyRtpReceiverDelayBehaviour( - video_media_receive_channel()->AsVideoReceiveChannel(), - video_rtp_receiver_.get(), kVideoSsrc); + video_media_channel()->AsVideoReceiveChannel(), video_rtp_receiver_.get(), + kVideoSsrc); DestroyVideoRtpReceiver(); } @@ -986,9 +953,9 @@ TEST_F(RtpSenderReceiverTest, AudioSenderInitParametersMovedAfterNegotiation) { std::vector ssrcs(1, 1); cricket::StreamParams stream_params = cricket::CreateSimStreamParams("cname", ssrcs); - voice_media_send_channel()->AddSendStream(stream_params); + voice_media_channel()->AddSendStream(stream_params); audio_rtp_sender_->SetMediaChannel( - voice_media_send_channel()->AsVoiceSendChannel()); + voice_media_channel()->AsVoiceSendChannel()); audio_rtp_sender_->SetSsrc(1); params = audio_rtp_sender_->GetParameters(); @@ -1103,7 +1070,7 @@ TEST_F(RtpSenderReceiverTest, AudioSenderCantSetUnimplementedRtpParameters) { TEST_F(RtpSenderReceiverTest, SetAudioMaxSendBitrate) { CreateAudioRtpSender(); - EXPECT_EQ(-1, voice_media_send_channel()->max_bps()); + EXPECT_EQ(-1, voice_media_channel()->max_bps()); webrtc::RtpParameters params = audio_rtp_sender_->GetParameters(); EXPECT_EQ(1U, params.encodings.size()); EXPECT_FALSE(params.encodings[0].max_bitrate_bps); @@ -1116,12 +1083,12 @@ TEST_F(RtpSenderReceiverTest, SetAudioMaxSendBitrate) { EXPECT_EQ(1000, params.encodings[0].max_bitrate_bps); // Verify that the audio channel received the new parameters. - params = voice_media_send_channel()->GetRtpSendParameters(kAudioSsrc); + params = voice_media_channel()->GetRtpSendParameters(kAudioSsrc); EXPECT_EQ(1U, params.encodings.size()); EXPECT_EQ(1000, params.encodings[0].max_bitrate_bps); // Verify that the global bitrate limit has not been changed. - EXPECT_EQ(-1, voice_media_send_channel()->max_bps()); + EXPECT_EQ(-1, voice_media_channel()->max_bps()); DestroyAudioRtpSender(); } @@ -1141,7 +1108,7 @@ TEST_F(RtpSenderReceiverTest, SetAudioBitratePriority) { EXPECT_EQ(1U, params.encodings.size()); EXPECT_EQ(new_bitrate_priority, params.encodings[0].bitrate_priority); - params = voice_media_send_channel()->GetRtpSendParameters(kAudioSsrc); + params = voice_media_channel()->GetRtpSendParameters(kAudioSsrc); EXPECT_EQ(1U, params.encodings.size()); EXPECT_EQ(new_bitrate_priority, params.encodings[0].bitrate_priority); @@ -1240,9 +1207,9 @@ TEST_F(RtpSenderReceiverTest, VideoSenderInitParametersMovedAfterNegotiation) { ssrcs.push_back(kVideoSsrcSimulcast + i); cricket::StreamParams stream_params = cricket::CreateSimStreamParams("cname", ssrcs); - video_media_send_channel()->AddSendStream(stream_params); + video_media_channel()->AddSendStream(stream_params); video_rtp_sender_->SetMediaChannel( - video_media_send_channel()->AsVideoSendChannel()); + video_media_channel()->AsVideoSendChannel()); video_rtp_sender_->SetSsrc(kVideoSsrcSimulcast); params = video_rtp_sender_->GetParameters(); @@ -1281,9 +1248,9 @@ TEST_F(RtpSenderReceiverTest, ssrcs.push_back(kVideoSsrcSimulcast + i); cricket::StreamParams stream_params = cricket::CreateSimStreamParams("cname", ssrcs); - video_media_send_channel()->AddSendStream(stream_params); + video_media_channel()->AddSendStream(stream_params); video_rtp_sender_->SetMediaChannel( - video_media_send_channel()->AsVideoSendChannel()); + video_media_channel()->AsVideoSendChannel()); video_rtp_sender_->SetSsrc(kVideoSsrcSimulcast); params = video_rtp_sender_->GetParameters(); @@ -1325,9 +1292,9 @@ TEST_F(RtpSenderReceiverDeathTest, ssrcs.push_back(kVideoSsrcSimulcast + i); cricket::StreamParams stream_params = cricket::StreamParams::CreateLegacy(kVideoSsrc); - video_media_send_channel()->AddSendStream(stream_params); + video_media_channel()->AddSendStream(stream_params); video_rtp_sender_->SetMediaChannel( - video_media_send_channel()->AsVideoSendChannel()); + video_media_channel()->AsVideoSendChannel()); EXPECT_DEATH(video_rtp_sender_->SetSsrc(kVideoSsrcSimulcast), ""); } #endif @@ -1558,7 +1525,7 @@ TEST_F(RtpSenderReceiverTest, VideoSenderCantSetReadOnlyEncodingParameters) { TEST_F(RtpSenderReceiverTest, SetVideoMinMaxSendBitrate) { CreateVideoRtpSender(); - EXPECT_EQ(-1, video_media_send_channel()->max_bps()); + EXPECT_EQ(-1, video_media_channel()->max_bps()); webrtc::RtpParameters params = video_rtp_sender_->GetParameters(); EXPECT_EQ(1U, params.encodings.size()); EXPECT_FALSE(params.encodings[0].min_bitrate_bps); @@ -1574,13 +1541,13 @@ TEST_F(RtpSenderReceiverTest, SetVideoMinMaxSendBitrate) { EXPECT_EQ(1000, params.encodings[0].max_bitrate_bps); // Verify that the video channel received the new parameters. - params = video_media_send_channel()->GetRtpSendParameters(kVideoSsrc); + params = video_media_channel()->GetRtpSendParameters(kVideoSsrc); EXPECT_EQ(1U, params.encodings.size()); EXPECT_EQ(100, params.encodings[0].min_bitrate_bps); EXPECT_EQ(1000, params.encodings[0].max_bitrate_bps); // Verify that the global bitrate limit has not been changed. - EXPECT_EQ(-1, video_media_send_channel()->max_bps()); + EXPECT_EQ(-1, video_media_channel()->max_bps()); DestroyVideoRtpSender(); } @@ -1598,8 +1565,7 @@ TEST_F(RtpSenderReceiverTest, SetVideoMinMaxSendBitrateSimulcast) { EXPECT_TRUE(video_rtp_sender_->SetParameters(params).ok()); // Verify that the video channel received the new parameters. - params = - video_media_send_channel()->GetRtpSendParameters(kVideoSsrcSimulcast); + params = video_media_channel()->GetRtpSendParameters(kVideoSsrcSimulcast); EXPECT_EQ(kVideoSimulcastLayerCount, params.encodings.size()); EXPECT_EQ(100, params.encodings[0].min_bitrate_bps); EXPECT_EQ(1000, params.encodings[0].max_bitrate_bps); @@ -1624,7 +1590,7 @@ TEST_F(RtpSenderReceiverTest, SetVideoBitratePriority) { EXPECT_EQ(1U, params.encodings.size()); EXPECT_EQ(new_bitrate_priority, params.encodings[0].bitrate_priority); - params = video_media_send_channel()->GetRtpSendParameters(kVideoSsrc); + params = video_media_channel()->GetRtpSendParameters(kVideoSsrc); EXPECT_EQ(1U, params.encodings.size()); EXPECT_EQ(new_bitrate_priority, params.encodings[0].bitrate_priority); @@ -1678,23 +1644,23 @@ TEST_F(RtpSenderReceiverTest, PropagatesVideoTrackContentHint) { video_track_->set_enabled(true); // `video_track_` is not screencast by default. - EXPECT_EQ(false, video_media_send_channel()->options().is_screencast); + EXPECT_EQ(false, video_media_channel()->options().is_screencast); // No content hint should be set by default. EXPECT_EQ(VideoTrackInterface::ContentHint::kNone, video_track_->content_hint()); // Setting detailed should turn a non-screencast source into screencast mode. video_track_->set_content_hint(VideoTrackInterface::ContentHint::kDetailed); - EXPECT_EQ(true, video_media_send_channel()->options().is_screencast); + EXPECT_EQ(true, video_media_channel()->options().is_screencast); // Removing the content hint should turn the track back into non-screencast // mode. video_track_->set_content_hint(VideoTrackInterface::ContentHint::kNone); - EXPECT_EQ(false, video_media_send_channel()->options().is_screencast); + EXPECT_EQ(false, video_media_channel()->options().is_screencast); // Setting fluid should remain in non-screencast mode (its default). video_track_->set_content_hint(VideoTrackInterface::ContentHint::kFluid); - EXPECT_EQ(false, video_media_send_channel()->options().is_screencast); + EXPECT_EQ(false, video_media_channel()->options().is_screencast); // Setting text should have the same effect as Detailed video_track_->set_content_hint(VideoTrackInterface::ContentHint::kText); - EXPECT_EQ(true, video_media_send_channel()->options().is_screencast); + EXPECT_EQ(true, video_media_channel()->options().is_screencast); DestroyVideoRtpSender(); } @@ -1708,22 +1674,22 @@ TEST_F(RtpSenderReceiverTest, video_track_->set_enabled(true); // `video_track_` with a screencast source should be screencast by default. - EXPECT_EQ(true, video_media_send_channel()->options().is_screencast); + EXPECT_EQ(true, video_media_channel()->options().is_screencast); // No content hint should be set by default. EXPECT_EQ(VideoTrackInterface::ContentHint::kNone, video_track_->content_hint()); // Setting fluid should turn a screencast source into non-screencast mode. video_track_->set_content_hint(VideoTrackInterface::ContentHint::kFluid); - EXPECT_EQ(false, video_media_send_channel()->options().is_screencast); + EXPECT_EQ(false, video_media_channel()->options().is_screencast); // Removing the content hint should turn the track back into screencast mode. video_track_->set_content_hint(VideoTrackInterface::ContentHint::kNone); - EXPECT_EQ(true, video_media_send_channel()->options().is_screencast); + EXPECT_EQ(true, video_media_channel()->options().is_screencast); // Setting detailed should still remain in screencast mode (its default). video_track_->set_content_hint(VideoTrackInterface::ContentHint::kDetailed); - EXPECT_EQ(true, video_media_send_channel()->options().is_screencast); + EXPECT_EQ(true, video_media_channel()->options().is_screencast); // Setting text should have the same effect as Detailed video_track_->set_content_hint(VideoTrackInterface::ContentHint::kText); - EXPECT_EQ(true, video_media_send_channel()->options().is_screencast); + EXPECT_EQ(true, video_media_channel()->options().is_screencast); DestroyVideoRtpSender(); } @@ -1744,21 +1710,21 @@ TEST_F(RtpSenderReceiverTest, EXPECT_CALL(*set_streams_observer, OnSetStreams()); video_rtp_sender_->SetStreams({local_stream_->id()}); video_rtp_sender_->SetMediaChannel( - video_media_send_channel()->AsVideoSendChannel()); + video_media_channel()->AsVideoSendChannel()); video_track_->set_enabled(true); // Sender is not ready to send (no SSRC) so no option should have been set. - EXPECT_EQ(absl::nullopt, video_media_send_channel()->options().is_screencast); + EXPECT_EQ(absl::nullopt, video_media_channel()->options().is_screencast); // Verify that the content hint is accounted for when video_rtp_sender_ does // get enabled. video_rtp_sender_->SetSsrc(kVideoSsrc); - EXPECT_EQ(true, video_media_send_channel()->options().is_screencast); + EXPECT_EQ(true, video_media_channel()->options().is_screencast); // And removing the hint should go back to false (to verify that false was // default correctly). video_track_->set_content_hint(VideoTrackInterface::ContentHint::kNone); - EXPECT_EQ(false, video_media_send_channel()->options().is_screencast); + EXPECT_EQ(false, video_media_channel()->options().is_screencast); DestroyVideoRtpSender(); } @@ -1797,22 +1763,22 @@ TEST_F(RtpSenderReceiverTest, InsertDtmf) { auto dtmf_sender = audio_rtp_sender_->GetDtmfSender(); ASSERT_NE(nullptr, dtmf_sender); - EXPECT_EQ(0U, voice_media_send_channel()->dtmf_info_queue().size()); + EXPECT_EQ(0U, voice_media_channel()->dtmf_info_queue().size()); // Insert DTMF const int expected_duration = 90; dtmf_sender->InsertDtmf("012", expected_duration, 100); // Verify - ASSERT_EQ_WAIT(3U, voice_media_send_channel()->dtmf_info_queue().size(), + ASSERT_EQ_WAIT(3U, voice_media_channel()->dtmf_info_queue().size(), kDefaultTimeout); const uint32_t send_ssrc = - voice_media_send_channel()->send_streams()[0].first_ssrc(); - EXPECT_TRUE(CompareDtmfInfo(voice_media_send_channel()->dtmf_info_queue()[0], + voice_media_channel()->send_streams()[0].first_ssrc(); + EXPECT_TRUE(CompareDtmfInfo(voice_media_channel()->dtmf_info_queue()[0], send_ssrc, 0, expected_duration)); - EXPECT_TRUE(CompareDtmfInfo(voice_media_send_channel()->dtmf_info_queue()[1], + EXPECT_TRUE(CompareDtmfInfo(voice_media_channel()->dtmf_info_queue()[1], send_ssrc, 1, expected_duration)); - EXPECT_TRUE(CompareDtmfInfo(voice_media_send_channel()->dtmf_info_queue()[2], + EXPECT_TRUE(CompareDtmfInfo(voice_media_channel()->dtmf_info_queue()[2], send_ssrc, 2, expected_duration)); } diff --git a/pc/test/mock_voice_media_channel.h b/pc/test/mock_voice_media_channel.h index feab3c03f4..1523c6fbd8 100644 --- a/pc/test/mock_voice_media_channel.h +++ b/pc/test/mock_voice_media_channel.h @@ -28,9 +28,8 @@ using ::testing::Mock; namespace cricket { class MockVoiceMediaChannel : public VoiceMediaChannel { public: - MockVoiceMediaChannel(MediaChannel::Role role, - webrtc::TaskQueueBase* network_thread) - : VoiceMediaChannel(role, network_thread) {} + explicit MockVoiceMediaChannel(webrtc::TaskQueueBase* network_thread) + : VoiceMediaChannel(MediaChannel::Role::kBoth, network_thread) {} MOCK_METHOD(void, SetInterface,