diff --git a/api/scoped_refptr.h b/api/scoped_refptr.h index 8f45f89206..a96796074c 100644 --- a/api/scoped_refptr.h +++ b/api/scoped_refptr.h @@ -104,6 +104,7 @@ class scoped_refptr { } T* get() const { return ptr_; } + explicit operator bool() const { return ptr_ != nullptr; } operator T*() const { return ptr_; } T& operator*() const { return *ptr_; } T* operator->() const { return ptr_; } diff --git a/pc/audio_rtp_receiver.cc b/pc/audio_rtp_receiver.cc index 58f4dfafe2..065814b9e1 100644 --- a/pc/audio_rtp_receiver.cc +++ b/pc/audio_rtp_receiver.cc @@ -251,7 +251,7 @@ void AudioRtpReceiver::SetStreams( } } if (removed) { - existing_stream->RemoveTrack(track_); + existing_stream->RemoveTrack(track_.get()); } } // Add remote track to any streams that are new. @@ -265,7 +265,7 @@ void AudioRtpReceiver::SetStreams( } } if (added) { - stream->AddTrack(track_); + stream->AddTrack(track_.get()); } } streams_ = streams; diff --git a/pc/jsep_transport.cc b/pc/jsep_transport.cc index 00447b088d..b6fb1897c6 100644 --- a/pc/jsep_transport.cc +++ b/pc/jsep_transport.cc @@ -202,7 +202,7 @@ webrtc::RTCError JsepTransport::SetLocalJsepTransportDescription( if (!local_fp) { local_certificate_ = nullptr; } else { - error = VerifyCertificateFingerprint(local_certificate_, local_fp); + error = VerifyCertificateFingerprint(local_certificate_.get(), local_fp); if (!error.ok()) { local_description_.reset(); return error; diff --git a/pc/media_stream_observer.cc b/pc/media_stream_observer.cc index 28caccf5d5..6264a7657a 100644 --- a/pc/media_stream_observer.cc +++ b/pc/media_stream_observer.cc @@ -54,7 +54,7 @@ void MediaStreamObserver::OnChanged() { [cached_track](const AudioTrackVector::value_type& new_track) { return new_track->id() == cached_track->id(); })) { - audio_track_removed_callback_(cached_track.get(), stream_); + audio_track_removed_callback_(cached_track.get(), stream_.get()); } } @@ -65,7 +65,7 @@ void MediaStreamObserver::OnChanged() { [new_track](const AudioTrackVector::value_type& cached_track) { return new_track->id() == cached_track->id(); })) { - audio_track_added_callback_(new_track.get(), stream_); + audio_track_added_callback_(new_track.get(), stream_.get()); } } @@ -76,7 +76,7 @@ void MediaStreamObserver::OnChanged() { [cached_track](const VideoTrackVector::value_type& new_track) { return new_track->id() == cached_track->id(); })) { - video_track_removed_callback_(cached_track.get(), stream_); + video_track_removed_callback_(cached_track.get(), stream_.get()); } } @@ -87,7 +87,7 @@ void MediaStreamObserver::OnChanged() { [new_track](const VideoTrackVector::value_type& cached_track) { return new_track->id() == cached_track->id(); })) { - video_track_added_callback_(new_track.get(), stream_); + video_track_added_callback_(new_track.get(), stream_.get()); } } diff --git a/pc/media_stream_observer.h b/pc/media_stream_observer.h index 4c4f22168b..83bbd20994 100644 --- a/pc/media_stream_observer.h +++ b/pc/media_stream_observer.h @@ -34,7 +34,7 @@ class MediaStreamObserver : public ObserverInterface { video_track_removed_callback); ~MediaStreamObserver() override; - const MediaStreamInterface* stream() const { return stream_; } + const MediaStreamInterface* stream() const { return stream_.get(); } void OnChanged() override; diff --git a/pc/media_stream_unittest.cc b/pc/media_stream_unittest.cc index 1d6935690e..7224c514a6 100644 --- a/pc/media_stream_unittest.cc +++ b/pc/media_stream_unittest.cc @@ -66,10 +66,10 @@ class MediaStreamTest : public ::testing::Test { ASSERT_TRUE(audio_track_.get() != NULL); EXPECT_EQ(MediaStreamTrackInterface::kLive, audio_track_->state()); - EXPECT_TRUE(stream_->AddTrack(video_track_)); - EXPECT_FALSE(stream_->AddTrack(video_track_)); - EXPECT_TRUE(stream_->AddTrack(audio_track_)); - EXPECT_FALSE(stream_->AddTrack(audio_track_)); + EXPECT_TRUE(stream_->AddTrack(video_track_.get())); + EXPECT_FALSE(stream_->AddTrack(video_track_.get())); + EXPECT_TRUE(stream_->AddTrack(audio_track_.get())); + EXPECT_FALSE(stream_->AddTrack(audio_track_.get())); } void ChangeTrack(MediaStreamTrackInterface* track) { @@ -118,17 +118,17 @@ TEST_F(MediaStreamTest, GetTrackInfo) { } TEST_F(MediaStreamTest, RemoveTrack) { - MockObserver observer(stream_); + MockObserver observer(stream_.get()); EXPECT_CALL(observer, OnChanged()).Times(Exactly(2)); - EXPECT_TRUE(stream_->RemoveTrack(audio_track_)); - EXPECT_FALSE(stream_->RemoveTrack(audio_track_)); + EXPECT_TRUE(stream_->RemoveTrack(audio_track_.get())); + EXPECT_FALSE(stream_->RemoveTrack(audio_track_.get())); EXPECT_EQ(0u, stream_->GetAudioTracks().size()); EXPECT_EQ(0u, stream_->GetAudioTracks().size()); - EXPECT_TRUE(stream_->RemoveTrack(video_track_)); - EXPECT_FALSE(stream_->RemoveTrack(video_track_)); + EXPECT_TRUE(stream_->RemoveTrack(video_track_.get())); + EXPECT_FALSE(stream_->RemoveTrack(video_track_.get())); EXPECT_EQ(0u, stream_->GetVideoTracks().size()); EXPECT_EQ(0u, stream_->GetVideoTracks().size()); diff --git a/pc/peer_connection.cc b/pc/peer_connection.cc index e7891796b5..bf8bd961d9 100644 --- a/pc/peer_connection.cc +++ b/pc/peer_connection.cc @@ -644,7 +644,7 @@ RTCError PeerConnection::Initialize( stats_collector_ = RTCStatsCollector::Create(this); sdp_handler_ = SdpOfferAnswerHandler::Create(this, configuration, - dependencies, context_); + dependencies, context_.get()); rtp_manager_ = std::make_unique( IsUnifiedPlan(), signaling_thread(), worker_thread(), channel_manager(), @@ -858,7 +858,7 @@ RTCErrorOr> PeerConnection::AddTrack( LOG_AND_RETURN_ERROR(RTCErrorType::INVALID_STATE, "PeerConnection is closed."); } - if (rtp_manager()->FindSenderForTrack(track)) { + if (rtp_manager()->FindSenderForTrack(track.get())) { LOG_AND_RETURN_ERROR( RTCErrorType::INVALID_PARAMETER, "Sender already exists for track " + track->id() + "."); @@ -866,7 +866,7 @@ RTCErrorOr> PeerConnection::AddTrack( auto sender_or_error = rtp_manager()->AddTrack(track, stream_ids); if (sender_or_error.ok()) { sdp_handler_->UpdateNegotiationNeeded(); - stats_->AddTrack(track); + stats_->AddTrack(track.get()); } return sender_or_error; } @@ -898,11 +898,11 @@ RTCError PeerConnection::RemoveTrackOrError( bool removed; if (sender->media_type() == cricket::MEDIA_TYPE_AUDIO) { removed = rtp_manager()->GetAudioTransceiver()->internal()->RemoveSender( - sender); + sender.get()); } else { RTC_DCHECK_EQ(cricket::MEDIA_TYPE_VIDEO, sender->media_type()); removed = rtp_manager()->GetVideoTransceiver()->internal()->RemoveSender( - sender); + sender.get()); } if (!removed) { LOG_AND_RETURN_ERROR( diff --git a/pc/peer_connection_adaptation_integrationtest.cc b/pc/peer_connection_adaptation_integrationtest.cc index b5a5f5231d..5dc26e02ca 100644 --- a/pc/peer_connection_adaptation_integrationtest.cc +++ b/pc/peer_connection_adaptation_integrationtest.cc @@ -65,7 +65,7 @@ TrackWithPeriodicSource CreateTrackWithPeriodicSource( periodic_track_source_config, /* remote */ false); TrackWithPeriodicSource track_with_source; track_with_source.track = - factory->CreateVideoTrack("PeriodicTrack", periodic_track_source); + factory->CreateVideoTrack("PeriodicTrack", periodic_track_source.get()); track_with_source.periodic_track_source = periodic_track_source; return track_with_source; } diff --git a/pc/peer_connection_crypto_unittest.cc b/pc/peer_connection_crypto_unittest.cc index 15a04725ec..d87d0b0d1e 100644 --- a/pc/peer_connection_crypto_unittest.cc +++ b/pc/peer_connection_crypto_unittest.cc @@ -110,7 +110,7 @@ class PeerConnectionCryptoBaseTest : public ::testing::Test { return nullptr; } - observer->SetPeerConnectionInterface(result.value()); + observer->SetPeerConnectionInterface(result.value().get()); return std::make_unique( pc_factory_, result.MoveValue(), std::move(observer)); } @@ -662,10 +662,10 @@ TEST_P(PeerConnectionCryptoDtlsCertGenTest, TestCertificateGeneration) { rtc::make_ref_counted(); observers.push_back(observer); if (sdp_type_ == SdpType::kOffer) { - pc->pc()->CreateOffer(observer, + pc->pc()->CreateOffer(observer.get(), PeerConnectionInterface::RTCOfferAnswerOptions()); } else { - pc->pc()->CreateAnswer(observer, + pc->pc()->CreateAnswer(observer.get(), PeerConnectionInterface::RTCOfferAnswerOptions()); } } diff --git a/pc/peer_connection_data_channel_unittest.cc b/pc/peer_connection_data_channel_unittest.cc index 05268b31d9..3bb2088866 100644 --- a/pc/peer_connection_data_channel_unittest.cc +++ b/pc/peer_connection_data_channel_unittest.cc @@ -144,7 +144,7 @@ class PeerConnectionDataChannelBaseTest : public ::testing::Test { return nullptr; } - observer->SetPeerConnectionInterface(result.value()); + observer->SetPeerConnectionInterface(result.value().get()); auto wrapper = std::make_unique( pc_factory, result.MoveValue(), std::move(observer)); wrapper->set_sctp_transport_factory(fake_sctp_transport_factory); diff --git a/pc/peer_connection_end_to_end_unittest.cc b/pc/peer_connection_end_to_end_unittest.cc index 27b8902a25..08e3cb1848 100644 --- a/pc/peer_connection_end_to_end_unittest.cc +++ b/pc/peer_connection_end_to_end_unittest.cc @@ -509,14 +509,16 @@ TEST_P(PeerConnectionEndToEndTest, CreateDataChannelBeforeNegotiate) { Negotiate(); WaitForConnection(); - WaitForDataChannelsToOpen(caller_dc, callee_signaled_data_channels_, 0); - WaitForDataChannelsToOpen(callee_dc, caller_signaled_data_channels_, 0); + WaitForDataChannelsToOpen(caller_dc.get(), callee_signaled_data_channels_, 0); + WaitForDataChannelsToOpen(callee_dc.get(), caller_signaled_data_channels_, 0); - TestDataChannelSendAndReceive(caller_dc, callee_signaled_data_channels_[0]); - TestDataChannelSendAndReceive(callee_dc, caller_signaled_data_channels_[0]); + TestDataChannelSendAndReceive(caller_dc.get(), + callee_signaled_data_channels_[0].get()); + TestDataChannelSendAndReceive(callee_dc.get(), + caller_signaled_data_channels_[0].get()); - CloseDataChannels(caller_dc, callee_signaled_data_channels_, 0); - CloseDataChannels(callee_dc, caller_signaled_data_channels_, 0); + CloseDataChannels(caller_dc.get(), callee_signaled_data_channels_, 0); + CloseDataChannels(callee_dc.get(), caller_signaled_data_channels_, 0); } // Verifies that a DataChannel created after the negotiation can transition to @@ -534,7 +536,7 @@ TEST_P(PeerConnectionEndToEndTest, CreateDataChannelAfterNegotiate) { WaitForConnection(); // Wait for the data channel created pre-negotiation to be opened. - WaitForDataChannelsToOpen(dummy, callee_signaled_data_channels_, 0); + WaitForDataChannelsToOpen(dummy.get(), callee_signaled_data_channels_, 0); // Create new DataChannels after the negotiation and verify their states. rtc::scoped_refptr caller_dc( @@ -542,14 +544,16 @@ TEST_P(PeerConnectionEndToEndTest, CreateDataChannelAfterNegotiate) { rtc::scoped_refptr callee_dc( callee_->CreateDataChannel("hello", init)); - WaitForDataChannelsToOpen(caller_dc, callee_signaled_data_channels_, 1); - WaitForDataChannelsToOpen(callee_dc, caller_signaled_data_channels_, 0); + WaitForDataChannelsToOpen(caller_dc.get(), callee_signaled_data_channels_, 1); + WaitForDataChannelsToOpen(callee_dc.get(), caller_signaled_data_channels_, 0); - TestDataChannelSendAndReceive(caller_dc, callee_signaled_data_channels_[1]); - TestDataChannelSendAndReceive(callee_dc, caller_signaled_data_channels_[0]); + TestDataChannelSendAndReceive(caller_dc.get(), + callee_signaled_data_channels_[1].get()); + TestDataChannelSendAndReceive(callee_dc.get(), + caller_signaled_data_channels_[0].get()); - CloseDataChannels(caller_dc, callee_signaled_data_channels_, 1); - CloseDataChannels(callee_dc, caller_signaled_data_channels_, 0); + CloseDataChannels(caller_dc.get(), callee_signaled_data_channels_, 1); + CloseDataChannels(callee_dc.get(), caller_signaled_data_channels_, 0); } // Verifies that a DataChannel created can transfer large messages. @@ -566,7 +570,7 @@ TEST_P(PeerConnectionEndToEndTest, CreateDataChannelLargeTransfer) { WaitForConnection(); // Wait for the data channel created pre-negotiation to be opened. - WaitForDataChannelsToOpen(dummy, callee_signaled_data_channels_, 0); + WaitForDataChannelsToOpen(dummy.get(), callee_signaled_data_channels_, 0); // Create new DataChannels after the negotiation and verify their states. rtc::scoped_refptr caller_dc( @@ -574,16 +578,16 @@ TEST_P(PeerConnectionEndToEndTest, CreateDataChannelLargeTransfer) { rtc::scoped_refptr callee_dc( callee_->CreateDataChannel("hello", init)); - WaitForDataChannelsToOpen(caller_dc, callee_signaled_data_channels_, 1); - WaitForDataChannelsToOpen(callee_dc, caller_signaled_data_channels_, 0); + WaitForDataChannelsToOpen(caller_dc.get(), callee_signaled_data_channels_, 1); + WaitForDataChannelsToOpen(callee_dc.get(), caller_signaled_data_channels_, 0); - TestDataChannelSendAndReceive(caller_dc, callee_signaled_data_channels_[1], - 256 * 1024); - TestDataChannelSendAndReceive(callee_dc, caller_signaled_data_channels_[0], - 256 * 1024); + TestDataChannelSendAndReceive( + caller_dc.get(), callee_signaled_data_channels_[1].get(), 256 * 1024); + TestDataChannelSendAndReceive( + callee_dc.get(), caller_signaled_data_channels_[0].get(), 256 * 1024); - CloseDataChannels(caller_dc, callee_signaled_data_channels_, 1); - CloseDataChannels(callee_dc, caller_signaled_data_channels_, 0); + CloseDataChannels(caller_dc.get(), callee_signaled_data_channels_, 1); + CloseDataChannels(callee_dc.get(), caller_signaled_data_channels_, 0); } // Verifies that DataChannel IDs are even/odd based on the DTLS roles. @@ -628,14 +632,18 @@ TEST_P(PeerConnectionEndToEndTest, Negotiate(); WaitForConnection(); - WaitForDataChannelsToOpen(caller_dc_1, callee_signaled_data_channels_, 0); - WaitForDataChannelsToOpen(caller_dc_2, callee_signaled_data_channels_, 1); + WaitForDataChannelsToOpen(caller_dc_1.get(), callee_signaled_data_channels_, + 0); + WaitForDataChannelsToOpen(caller_dc_2.get(), callee_signaled_data_channels_, + 1); std::unique_ptr dc_1_observer( - new webrtc::MockDataChannelObserver(callee_signaled_data_channels_[0])); + new webrtc::MockDataChannelObserver( + callee_signaled_data_channels_[0].get())); std::unique_ptr dc_2_observer( - new webrtc::MockDataChannelObserver(callee_signaled_data_channels_[1])); + new webrtc::MockDataChannelObserver( + callee_signaled_data_channels_[1].get())); const std::string message_1 = "hello 1"; const std::string message_2 = "hello 2"; @@ -666,7 +674,7 @@ TEST_P(PeerConnectionEndToEndTest, Negotiate(); WaitForConnection(); - WaitForDataChannelsToOpen(caller_dc, callee_signaled_data_channels_, 0); + WaitForDataChannelsToOpen(caller_dc.get(), callee_signaled_data_channels_, 0); int first_channel_id = caller_dc->id(); // Wait for the local side to say it's closed, but not the remote side. // Previously, the channel on which Close is called reported being closed @@ -676,13 +684,14 @@ TEST_P(PeerConnectionEndToEndTest, // Create a new channel and ensure it works after closing the previous one. caller_dc = caller_->CreateDataChannel("data2", init); - WaitForDataChannelsToOpen(caller_dc, callee_signaled_data_channels_, 1); + WaitForDataChannelsToOpen(caller_dc.get(), callee_signaled_data_channels_, 1); // Since the second channel was created after the first finished closing, it // should be able to re-use the first one's ID. EXPECT_EQ(first_channel_id, caller_dc->id()); - TestDataChannelSendAndReceive(caller_dc, callee_signaled_data_channels_[1]); + TestDataChannelSendAndReceive(caller_dc.get(), + callee_signaled_data_channels_[1].get()); - CloseDataChannels(caller_dc, callee_signaled_data_channels_, 1); + CloseDataChannels(caller_dc.get(), callee_signaled_data_channels_, 1); } // Similar to the above test, but don't wait for the first channel to finish @@ -699,20 +708,21 @@ TEST_P(PeerConnectionEndToEndTest, Negotiate(); WaitForConnection(); - WaitForDataChannelsToOpen(caller_dc, callee_signaled_data_channels_, 0); + WaitForDataChannelsToOpen(caller_dc.get(), callee_signaled_data_channels_, 0); int first_channel_id = caller_dc->id(); caller_dc->Close(); // Immediately create a new channel, before waiting for the previous one to // transition to "closed". caller_dc = caller_->CreateDataChannel("data2", init); - WaitForDataChannelsToOpen(caller_dc, callee_signaled_data_channels_, 1); + WaitForDataChannelsToOpen(caller_dc.get(), callee_signaled_data_channels_, 1); // Since the second channel was created while the first was still closing, // it should have been assigned a different ID. EXPECT_NE(first_channel_id, caller_dc->id()); - TestDataChannelSendAndReceive(caller_dc, callee_signaled_data_channels_[1]); + TestDataChannelSendAndReceive(caller_dc.get(), + callee_signaled_data_channels_[1].get()); - CloseDataChannels(caller_dc, callee_signaled_data_channels_, 1); + CloseDataChannels(caller_dc.get(), callee_signaled_data_channels_, 1); } // This tests that if a data channel is closed remotely while not referenced @@ -730,7 +740,7 @@ TEST_P(PeerConnectionEndToEndTest, CloseDataChannelRemotelyWhileNotReferenced) { Negotiate(); WaitForConnection(); - WaitForDataChannelsToOpen(caller_dc, callee_signaled_data_channels_, 0); + WaitForDataChannelsToOpen(caller_dc.get(), callee_signaled_data_channels_, 0); // This removes the reference to the remote data channel that we hold. callee_signaled_data_channels_.clear(); caller_dc->Close(); diff --git a/pc/peer_connection_factory_unittest.cc b/pc/peer_connection_factory_unittest.cc index 1768bed17d..442a33135c 100644 --- a/pc/peer_connection_factory_unittest.cc +++ b/pc/peer_connection_factory_unittest.cc @@ -472,9 +472,9 @@ TEST_F(PeerConnectionFactoryTest, LocalRendering) { ASSERT_TRUE(source.get() != NULL); rtc::scoped_refptr track( - factory_->CreateVideoTrack("testlabel", source)); + factory_->CreateVideoTrack("testlabel", source.get())); ASSERT_TRUE(track.get() != NULL); - FakeVideoTrackRenderer local_renderer(track); + FakeVideoTrackRenderer local_renderer(track.get()); EXPECT_EQ(0, local_renderer.num_rendered_frames()); source->InjectFrame(frame_source.GetFrame()); diff --git a/pc/peer_connection_header_extension_unittest.cc b/pc/peer_connection_header_extension_unittest.cc index 34e0cd2f60..ba78dd85fc 100644 --- a/pc/peer_connection_header_extension_unittest.cc +++ b/pc/peer_connection_header_extension_unittest.cc @@ -106,7 +106,7 @@ class PeerConnectionHeaderExtensionTest auto result = pc_factory->CreatePeerConnectionOrError( config, std::move(pc_dependencies)); EXPECT_TRUE(result.ok()); - observer->SetPeerConnectionInterface(result.value()); + observer->SetPeerConnectionInterface(result.value().get()); return std::make_unique( pc_factory, result.MoveValue(), std::move(observer)); } diff --git a/pc/peer_connection_histogram_unittest.cc b/pc/peer_connection_histogram_unittest.cc index 8837ab0ece..84525b3634 100644 --- a/pc/peer_connection_histogram_unittest.cc +++ b/pc/peer_connection_histogram_unittest.cc @@ -352,7 +352,7 @@ class PeerConnectionUsageHistogramTest : public ::testing::Test { return nullptr; } - observer->SetPeerConnectionInterface(result.value()); + observer->SetPeerConnectionInterface(result.value().get()); auto wrapper = std::make_unique( pc_factory, result.MoveValue(), std::move(observer)); return wrapper; diff --git a/pc/peer_connection_ice_unittest.cc b/pc/peer_connection_ice_unittest.cc index bd619bb4aa..56768377b0 100644 --- a/pc/peer_connection_ice_unittest.cc +++ b/pc/peer_connection_ice_unittest.cc @@ -175,7 +175,7 @@ class PeerConnectionIceBaseTest : public ::testing::Test { return nullptr; } - observer->SetPeerConnectionInterface(result.value()); + observer->SetPeerConnectionInterface(result.value().get()); auto wrapper = std::make_unique( pc_factory_, result.MoveValue(), std::move(observer)); wrapper->set_network(fake_network); @@ -809,7 +809,7 @@ TEST_P(PeerConnectionIceTest, // Chain an operation that will block AddIceCandidate() from executing. auto answer_observer = rtc::make_ref_counted(); - callee->pc()->CreateAnswer(answer_observer, RTCOfferAnswerOptions()); + callee->pc()->CreateAnswer(answer_observer.get(), RTCOfferAnswerOptions()); auto jsep_candidate = callee->CreateJsepCandidateForFirstTransport(&candidate); @@ -857,7 +857,7 @@ TEST_P(PeerConnectionIceTest, // Chain an operation that will block AddIceCandidate() from executing. auto answer_observer = rtc::make_ref_counted(); - callee->pc()->CreateAnswer(answer_observer, RTCOfferAnswerOptions()); + callee->pc()->CreateAnswer(answer_observer.get(), RTCOfferAnswerOptions()); auto jsep_candidate = callee->CreateJsepCandidateForFirstTransport(&candidate); diff --git a/pc/peer_connection_integrationtest.cc b/pc/peer_connection_integrationtest.cc index ef817bae3f..7866e075e8 100644 --- a/pc/peer_connection_integrationtest.cc +++ b/pc/peer_connection_integrationtest.cc @@ -578,7 +578,8 @@ TEST_P(PeerConnectionIntegrationTest, AudioToVideoUpgrade) { ASSERT_EQ(2U, transceivers.size()); ASSERT_EQ(cricket::MEDIA_TYPE_VIDEO, transceivers[1]->receiver()->media_type()); - transceivers[1]->sender()->SetTrack(caller()->CreateLocalVideoTrack()); + transceivers[1]->sender()->SetTrack( + caller()->CreateLocalVideoTrack().get()); transceivers[1]->SetDirectionWithError( RtpTransceiverDirection::kSendRecv); }); @@ -1333,8 +1334,9 @@ TEST_P(PeerConnectionIntegrationTest, GetBytesReceivedStatsWithOldStatsApi) { for (const auto& receiver : callee()->pc()->GetReceivers()) { // We received frames, so we definitely should have nonzero "received bytes" // stats at this point. - EXPECT_GT(callee()->OldGetStatsForTrack(receiver->track())->BytesReceived(), - 0); + EXPECT_GT( + callee()->OldGetStatsForTrack(receiver->track().get())->BytesReceived(), + 0); } } @@ -1355,8 +1357,8 @@ TEST_P(PeerConnectionIntegrationTest, GetBytesSentStatsWithOldStatsApi) { // The callee received frames, so we definitely should have nonzero "sent // bytes" stats at this point. - EXPECT_GT(caller()->OldGetStatsForTrack(audio_track)->BytesSent(), 0); - EXPECT_GT(caller()->OldGetStatsForTrack(video_track)->BytesSent(), 0); + EXPECT_GT(caller()->OldGetStatsForTrack(audio_track.get())->BytesSent(), 0); + EXPECT_GT(caller()->OldGetStatsForTrack(video_track.get())->BytesSent(), 0); } // Test that we can get capture start ntp time. @@ -1379,10 +1381,9 @@ TEST_P(PeerConnectionIntegrationTest, GetCaptureStartNtpTimeWithOldStatsApi) { // Get the audio output level stats. Note that the level is not available // until an RTCP packet has been received. - EXPECT_TRUE_WAIT( - callee()->OldGetStatsForTrack(remote_audio_track)->CaptureStartNtpTime() > - 0, - 2 * kMaxWaitForFramesMs); + EXPECT_TRUE_WAIT(callee()->OldGetStatsForTrack(remote_audio_track.get()) + ->CaptureStartNtpTime() > 0, + 2 * kMaxWaitForFramesMs); } // Test that the track ID is associated with all local and remote SSRC stats @@ -2434,10 +2435,14 @@ TEST_F(PeerConnectionIntegrationTestPlanB, EXPECT_EQ_WAIT(webrtc::PeerConnectionInterface::kIceConnectionConnected, callee()->ice_connection_state(), kMaxWaitForFramesMs); // Now set the tracks, and expect frames to immediately start flowing. - EXPECT_TRUE(caller_audio_sender->SetTrack(caller()->CreateLocalAudioTrack())); - EXPECT_TRUE(caller_video_sender->SetTrack(caller()->CreateLocalVideoTrack())); - EXPECT_TRUE(callee_audio_sender->SetTrack(callee()->CreateLocalAudioTrack())); - EXPECT_TRUE(callee_video_sender->SetTrack(callee()->CreateLocalVideoTrack())); + EXPECT_TRUE( + caller_audio_sender->SetTrack(caller()->CreateLocalAudioTrack().get())); + EXPECT_TRUE( + caller_video_sender->SetTrack(caller()->CreateLocalVideoTrack().get())); + EXPECT_TRUE( + callee_audio_sender->SetTrack(callee()->CreateLocalAudioTrack().get())); + EXPECT_TRUE( + callee_video_sender->SetTrack(callee()->CreateLocalVideoTrack().get())); MediaExpectations media_expectations; media_expectations.ExpectBidirectionalAudioAndVideo(); ASSERT_TRUE(ExpectNewFrames(media_expectations)); @@ -2473,10 +2478,14 @@ TEST_F(PeerConnectionIntegrationTestUnifiedPlan, // Now set the tracks, and expect frames to immediately start flowing. auto callee_audio_sender = callee()->pc()->GetSenders()[0]; auto callee_video_sender = callee()->pc()->GetSenders()[1]; - ASSERT_TRUE(caller_audio_sender->SetTrack(caller()->CreateLocalAudioTrack())); - ASSERT_TRUE(caller_video_sender->SetTrack(caller()->CreateLocalVideoTrack())); - ASSERT_TRUE(callee_audio_sender->SetTrack(callee()->CreateLocalAudioTrack())); - ASSERT_TRUE(callee_video_sender->SetTrack(callee()->CreateLocalVideoTrack())); + ASSERT_TRUE( + caller_audio_sender->SetTrack(caller()->CreateLocalAudioTrack().get())); + ASSERT_TRUE( + caller_video_sender->SetTrack(caller()->CreateLocalVideoTrack().get())); + ASSERT_TRUE( + callee_audio_sender->SetTrack(callee()->CreateLocalAudioTrack().get())); + ASSERT_TRUE( + callee_video_sender->SetTrack(callee()->CreateLocalVideoTrack().get())); MediaExpectations media_expectations; media_expectations.ExpectBidirectionalAudioAndVideo(); ASSERT_TRUE(ExpectNewFrames(media_expectations)); @@ -2841,7 +2850,7 @@ TEST_P(PeerConnectionIntegrationTest, IceTransportFactoryUsedForConnections) { ASSERT_TRUE(wrapper); wrapper->CreateDataChannel(); auto observer = rtc::make_ref_counted(); - wrapper->pc()->SetLocalDescription(observer, + wrapper->pc()->SetLocalDescription(observer.get(), wrapper->CreateOfferAndWait().release()); } @@ -3326,7 +3335,7 @@ TEST_F(PeerConnectionIntegrationTestUnifiedPlan, caller()->AddVideoTrack(); callee()->AddVideoTrack(); auto observer = rtc::make_ref_counted(); - callee()->pc()->SetLocalDescription(observer, + callee()->pc()->SetLocalDescription(observer.get(), callee()->CreateOfferAndWait().release()); EXPECT_TRUE_WAIT(observer->called(), kDefaultTimeout); caller()->CreateAndSetAndSignalOffer(); // Implicit rollback. @@ -3344,7 +3353,7 @@ TEST_F(PeerConnectionIntegrationTestUnifiedPlan, auto sld_observer = rtc::make_ref_counted(); - callee()->pc()->SetLocalDescription(sld_observer, + callee()->pc()->SetLocalDescription(sld_observer.get(), callee()->CreateOfferAndWait().release()); EXPECT_TRUE_WAIT(sld_observer->called(), kDefaultTimeout); EXPECT_EQ(sld_observer->error(), ""); @@ -3352,7 +3361,7 @@ TEST_F(PeerConnectionIntegrationTestUnifiedPlan, auto srd_observer = rtc::make_ref_counted(); callee()->pc()->SetRemoteDescription( - srd_observer, caller()->CreateOfferAndWait().release()); + srd_observer.get(), caller()->CreateOfferAndWait().release()); EXPECT_TRUE_WAIT(srd_observer->called(), kDefaultTimeout); EXPECT_EQ(srd_observer->error(), ""); diff --git a/pc/peer_connection_interface_unittest.cc b/pc/peer_connection_interface_unittest.cc index 245c0f4d1c..104e3f41ea 100644 --- a/pc/peer_connection_interface_unittest.cc +++ b/pc/peer_connection_interface_unittest.cc @@ -549,14 +549,14 @@ rtc::scoped_refptr CreateStreamCollection( rtc::scoped_refptr audio_track( webrtc::AudioTrack::Create(kAudioTracks[i * tracks_per_stream + j], nullptr)); - stream->AddTrack(audio_track); + stream->AddTrack(audio_track.get()); // Add a local video track. rtc::scoped_refptr video_track( webrtc::VideoTrack::Create(kVideoTracks[i * tracks_per_stream + j], webrtc::FakeVideoTrackSource::Create(), rtc::Thread::Current())); - stream->AddTrack(video_track); + stream->AddTrack(video_track.get()); } local_collection->AddStream(stream); @@ -810,13 +810,14 @@ class PeerConnectionInterfaceBaseTest : public ::testing::Test { } void ReleasePeerConnection() { - pc_ = NULL; - observer_.SetPeerConnectionInterface(NULL); + pc_ = nullptr; + observer_.SetPeerConnectionInterface(nullptr); } rtc::scoped_refptr CreateVideoTrack( const std::string& label) { - return pc_factory_->CreateVideoTrack(label, FakeVideoTrackSource::Create()); + return pc_factory_->CreateVideoTrack(label, + FakeVideoTrackSource::Create().get()); } void AddVideoTrack(const std::string& track_label, @@ -829,8 +830,8 @@ class PeerConnectionInterfaceBaseTest : public ::testing::Test { void AddVideoStream(const std::string& label) { rtc::scoped_refptr stream( pc_factory_->CreateLocalMediaStream(label)); - stream->AddTrack(CreateVideoTrack(label + "v0")); - ASSERT_TRUE(pc_->AddStream(stream)); + stream->AddTrack(CreateVideoTrack(label + "v0").get()); + ASSERT_TRUE(pc_->AddStream(stream.get())); } rtc::scoped_refptr CreateAudioTrack( @@ -848,8 +849,8 @@ class PeerConnectionInterfaceBaseTest : public ::testing::Test { void AddAudioStream(const std::string& label) { rtc::scoped_refptr stream( pc_factory_->CreateLocalMediaStream(label)); - stream->AddTrack(CreateAudioTrack(label + "a0")); - ASSERT_TRUE(pc_->AddStream(stream)); + stream->AddTrack(CreateAudioTrack(label + "a0").get()); + ASSERT_TRUE(pc_->AddStream(stream.get())); } void AddAudioVideoStream(const std::string& stream_id, @@ -858,9 +859,9 @@ class PeerConnectionInterfaceBaseTest : public ::testing::Test { // Create a local stream. rtc::scoped_refptr stream( pc_factory_->CreateLocalMediaStream(stream_id)); - stream->AddTrack(CreateAudioTrack(audio_track_label)); - stream->AddTrack(CreateVideoTrack(video_track_label)); - ASSERT_TRUE(pc_->AddStream(stream)); + stream->AddTrack(CreateAudioTrack(audio_track_label).get()); + stream->AddTrack(CreateVideoTrack(video_track_label).get()); + ASSERT_TRUE(pc_->AddStream(stream.get())); } rtc::scoped_refptr GetFirstReceiverOfType( @@ -879,9 +880,11 @@ class PeerConnectionInterfaceBaseTest : public ::testing::Test { auto observer = rtc::make_ref_counted(); if (offer) { - pc_->CreateOffer(observer, options ? *options : RTCOfferAnswerOptions()); + pc_->CreateOffer(observer.get(), + options ? *options : RTCOfferAnswerOptions()); } else { - pc_->CreateAnswer(observer, options ? *options : RTCOfferAnswerOptions()); + pc_->CreateAnswer(observer.get(), + options ? *options : RTCOfferAnswerOptions()); } EXPECT_EQ_WAIT(true, observer->called(), kTimeout); *desc = observer->MoveDescription(); @@ -903,9 +906,9 @@ class PeerConnectionInterfaceBaseTest : public ::testing::Test { bool local) { auto observer = rtc::make_ref_counted(); if (local) { - pc_->SetLocalDescription(observer, desc.release()); + pc_->SetLocalDescription(observer.get(), desc.release()); } else { - pc_->SetRemoteDescription(observer, desc.release()); + pc_->SetRemoteDescription(observer.get(), desc.release()); } if (pc_->signaling_state() != PeerConnectionInterface::kClosed) { EXPECT_EQ_WAIT(true, observer->called(), kTimeout); @@ -928,7 +931,7 @@ class PeerConnectionInterfaceBaseTest : public ::testing::Test { // be required. bool DoGetStats(MediaStreamTrackInterface* track) { auto observer = rtc::make_ref_counted(); - if (!pc_->GetStats(observer, track, + if (!pc_->GetStats(observer.get(), track, PeerConnectionInterface::kStatsOutputLevelStandard)) return false; EXPECT_TRUE_WAIT(observer->called(), kTimeout); @@ -939,7 +942,7 @@ class PeerConnectionInterfaceBaseTest : public ::testing::Test { bool DoGetRTCStats() { auto callback = rtc::make_ref_counted(); - pc_->GetStats(callback); + pc_->GetStats(callback.get()); EXPECT_TRUE_WAIT(callback->called(), kTimeout); return callback->called(); } @@ -963,12 +966,12 @@ class PeerConnectionInterfaceBaseTest : public ::testing::Test { const cricket::MediaContentDescription* desc = cricket::GetFirstAudioContentDescription( pc_->remote_description()->description()); - ASSERT_TRUE(desc != NULL); + ASSERT_TRUE(desc != nullptr); EXPECT_GT(desc->rtp_header_extensions().size(), 0u); desc = cricket::GetFirstVideoContentDescription( pc_->remote_description()->description()); - ASSERT_TRUE(desc != NULL); + ASSERT_TRUE(desc != nullptr); EXPECT_GT(desc->rtp_header_extensions().size(), 0u); } @@ -1115,21 +1118,21 @@ class PeerConnectionInterfaceBaseTest : public ::testing::Test { if (number_of_audio_tracks > 0) { sdp_ms1 += std::string(kSdpStringAudio); sdp_ms1 += std::string(kSdpStringMs1Audio0); - AddAudioTrack(kAudioTracks[0], stream); + AddAudioTrack(kAudioTracks[0], stream.get()); } if (number_of_audio_tracks > 1) { sdp_ms1 += kSdpStringMs1Audio1; - AddAudioTrack(kAudioTracks[1], stream); + AddAudioTrack(kAudioTracks[1], stream.get()); } if (number_of_video_tracks > 0) { sdp_ms1 += std::string(kSdpStringVideo); sdp_ms1 += std::string(kSdpStringMs1Video0); - AddVideoTrack(kVideoTracks[0], stream); + AddVideoTrack(kVideoTracks[0], stream.get()); } if (number_of_video_tracks > 1) { sdp_ms1 += kSdpStringMs1Video1; - AddVideoTrack(kVideoTracks[1], stream); + AddVideoTrack(kVideoTracks[1], stream.get()); } return std::unique_ptr( @@ -1140,7 +1143,7 @@ class PeerConnectionInterfaceBaseTest : public ::testing::Test { MediaStreamInterface* stream) { rtc::scoped_refptr audio_track( webrtc::AudioTrack::Create(track_id, nullptr)); - ASSERT_TRUE(stream->AddTrack(audio_track)); + ASSERT_TRUE(stream->AddTrack(audio_track.get())); } void AddVideoTrack(const std::string& track_id, @@ -1149,7 +1152,7 @@ class PeerConnectionInterfaceBaseTest : public ::testing::Test { webrtc::VideoTrack::Create(track_id, webrtc::FakeVideoTrackSource::Create(), rtc::Thread::Current())); - ASSERT_TRUE(stream->AddTrack(video_track)); + ASSERT_TRUE(stream->AddTrack(video_track.get())); } std::unique_ptr CreateOfferWithOneAudioTrack() { @@ -1195,7 +1198,7 @@ class PeerConnectionInterfaceBaseTest : public ::testing::Test { RTC_DCHECK(pc_); auto observer = rtc::make_ref_counted(); - pc_->CreateOffer(observer, offer_answer_options); + pc_->CreateOffer(observer.get(), offer_answer_options); EXPECT_EQ_WAIT(true, observer->called(), kTimeout); return observer->MoveDescription(); } @@ -1394,7 +1397,7 @@ TEST_P(PeerConnectionInterfaceTest, auto result = pc_factory_->CreatePeerConnectionOrError( config, std::move(pc_dependencies)); EXPECT_TRUE(result.ok()); - observer_.SetPeerConnectionInterface(result.value()); + observer_.SetPeerConnectionInterface(result.value().get()); // Now validate that the config fields set above were applied to the // PortAllocator, as flags or otherwise. @@ -1458,10 +1461,10 @@ TEST_F(PeerConnectionInterfaceTestPlanB, AddStreams) { rtc::scoped_refptr stream( pc_factory_->CreateLocalMediaStream(kStreamId3)); rtc::scoped_refptr audio_track( - pc_factory_->CreateAudioTrack(kStreamId3, - static_cast(NULL))); + pc_factory_->CreateAudioTrack( + kStreamId3, static_cast(nullptr))); stream->AddTrack(audio_track.get()); - EXPECT_TRUE(pc_->AddStream(stream)); + EXPECT_TRUE(pc_->AddStream(stream.get())); EXPECT_EQ(3u, pc_->local_streams()->count()); // Remove the third stream. @@ -1824,7 +1827,7 @@ TEST_F(PeerConnectionInterfaceTestPlanB, RemoveTrackAfterAddStream) { MediaStreamInterface* stream = pc_->local_streams()->at(0); // Remove the video track. - stream->RemoveTrack(stream->GetVideoTracks()[0]); + stream->RemoveTrack(stream->GetVideoTracks()[0].get()); std::unique_ptr offer; ASSERT_TRUE(DoCreateOffer(&offer, nullptr)); @@ -1858,7 +1861,7 @@ TEST_P(PeerConnectionInterfaceTest, GetStatsForSpecificTrack) { ASSERT_LT(0u, pc_->GetReceivers().size()); rtc::scoped_refptr remote_audio = pc_->GetReceivers()[0]->track(); - EXPECT_TRUE(DoGetStats(remote_audio)); + EXPECT_TRUE(DoGetStats(remote_audio.get())); // Remove the stream. Since we are sending to our selves the local // and the remote stream is the same. @@ -1868,7 +1871,7 @@ TEST_P(PeerConnectionInterfaceTest, GetStatsForSpecificTrack) { // Test that we still can get statistics for the old track. Even if it is not // sent any longer. - EXPECT_TRUE(DoGetStats(remote_audio)); + EXPECT_TRUE(DoGetStats(remote_audio.get())); } // Test that we can get stats on a video track. @@ -1876,15 +1879,15 @@ TEST_P(PeerConnectionInterfaceTest, GetStatsForVideoTrack) { InitiateCall(); auto video_receiver = GetFirstReceiverOfType(cricket::MEDIA_TYPE_VIDEO); ASSERT_TRUE(video_receiver); - EXPECT_TRUE(DoGetStats(video_receiver->track())); + EXPECT_TRUE(DoGetStats(video_receiver->track().get())); } // Test that we don't get statistics for an invalid track. TEST_P(PeerConnectionInterfaceTest, GetStatsForInvalidTrack) { InitiateCall(); rtc::scoped_refptr unknown_audio_track( - pc_factory_->CreateAudioTrack("unknown track", NULL)); - EXPECT_FALSE(DoGetStats(unknown_audio_track)); + pc_factory_->CreateAudioTrack("unknown track", nullptr)); + EXPECT_FALSE(DoGetStats(unknown_audio_track.get())); } TEST_P(PeerConnectionInterfaceTest, GetRTCStatsBeforeAndAfterCalling) { @@ -2048,22 +2051,22 @@ TEST_P(PeerConnectionInterfaceTest, ReceiveFireFoxOffer) { webrtc::kFireFoxSdpOffer, nullptr)); EXPECT_TRUE(DoSetSessionDescription(std::move(desc), false)); CreateAnswerAsLocalDescription(); - ASSERT_TRUE(pc_->local_description() != NULL); - ASSERT_TRUE(pc_->remote_description() != NULL); + ASSERT_TRUE(pc_->local_description() != nullptr); + ASSERT_TRUE(pc_->remote_description() != nullptr); const cricket::ContentInfo* content = cricket::GetFirstAudioContent(pc_->local_description()->description()); - ASSERT_TRUE(content != NULL); + ASSERT_TRUE(content != nullptr); EXPECT_FALSE(content->rejected); content = cricket::GetFirstVideoContent(pc_->local_description()->description()); - ASSERT_TRUE(content != NULL); + ASSERT_TRUE(content != nullptr); EXPECT_FALSE(content->rejected); #ifdef WEBRTC_HAVE_SCTP content = cricket::GetFirstDataContent(pc_->local_description()->description()); - ASSERT_TRUE(content != NULL); + ASSERT_TRUE(content != nullptr); EXPECT_FALSE(content->rejected); #endif } @@ -2452,13 +2455,13 @@ TEST_F(PeerConnectionInterfaceTestPlanB, CloseAndTestMethods) { pc_->Close(); - pc_->RemoveStream(local_stream); - EXPECT_FALSE(pc_->AddStream(local_stream)); + pc_->RemoveStream(local_stream.get()); + EXPECT_FALSE(pc_->AddStream(local_stream.get())); EXPECT_FALSE(pc_->CreateDataChannelOrError("test", NULL).ok()); - EXPECT_TRUE(pc_->local_description() != NULL); - EXPECT_TRUE(pc_->remote_description() != NULL); + EXPECT_TRUE(pc_->local_description() != nullptr); + EXPECT_TRUE(pc_->remote_description() != nullptr); std::unique_ptr offer; EXPECT_FALSE(DoCreateOffer(&offer, nullptr)); @@ -2481,7 +2484,7 @@ TEST_F(PeerConnectionInterfaceTestPlanB, CloseAndTestMethods) { TEST_P(PeerConnectionInterfaceTest, CloseAndGetStats) { InitiateCall(); pc_->Close(); - DoGetStats(NULL); + DoGetStats(nullptr); } // NOTE: The series of tests below come from what used to be @@ -2523,14 +2526,14 @@ TEST_F(PeerConnectionInterfaceTestPlanB, CreateSessionDescriptionAndReference(1, 1); EXPECT_TRUE(DoSetRemoteDescription(std::move(desc_ms1))); EXPECT_TRUE(CompareStreamCollections(observer_.remote_streams(), - reference_collection_)); + reference_collection_.get())); // Add extra audio and video tracks to the same MediaStream. std::unique_ptr desc_ms1_two_tracks = CreateSessionDescriptionAndReference(2, 2); EXPECT_TRUE(DoSetRemoteDescription(std::move(desc_ms1_two_tracks))); EXPECT_TRUE(CompareStreamCollections(observer_.remote_streams(), - reference_collection_)); + reference_collection_.get())); rtc::scoped_refptr audio_track2 = observer_.remote_streams()->at(0)->GetAudioTracks()[1]; EXPECT_EQ(webrtc::MediaStreamTrackInterface::kLive, audio_track2->state()); @@ -2541,14 +2544,14 @@ TEST_F(PeerConnectionInterfaceTestPlanB, // Remove the extra audio and video tracks. std::unique_ptr desc_ms2 = CreateSessionDescriptionAndReference(1, 1); - MockTrackObserver audio_track_observer(audio_track2); - MockTrackObserver video_track_observer(video_track2); + MockTrackObserver audio_track_observer(audio_track2.get()); + MockTrackObserver video_track_observer(video_track2.get()); EXPECT_CALL(audio_track_observer, OnChanged()).Times(Exactly(1)); EXPECT_CALL(video_track_observer, OnChanged()).Times(Exactly(1)); EXPECT_TRUE(DoSetRemoteDescription(std::move(desc_ms2))); EXPECT_TRUE(CompareStreamCollections(observer_.remote_streams(), - reference_collection_)); + reference_collection_.get())); // Track state may be updated asynchronously. EXPECT_EQ_WAIT(webrtc::MediaStreamTrackInterface::kEnded, audio_track2->state(), kTimeout); @@ -2611,8 +2614,8 @@ TEST_F(PeerConnectionInterfaceTestPlanB, RemoveTrackThenRejectMediaContent) { CreatePeerConnection(config); CreateAndSetRemoteOffer(GetSdpStringWithStream1()); MediaStreamInterface* remote_stream = observer_.remote_streams()->at(0); - remote_stream->RemoveTrack(remote_stream->GetVideoTracks()[0]); - remote_stream->RemoveTrack(remote_stream->GetAudioTracks()[0]); + remote_stream->RemoveTrack(remote_stream->GetVideoTracks()[0].get()); + remote_stream->RemoveTrack(remote_stream->GetAudioTracks()[0].get()); std::unique_ptr local_answer( webrtc::CreateSessionDescription(SdpType::kAnswer, @@ -2696,8 +2699,8 @@ TEST_F(PeerConnectionInterfaceTestPlanB, RemoveAlreadyGoneRemoteStream) { CreatePeerConnection(config); CreateAndSetRemoteOffer(GetSdpStringWithStream1()); MediaStreamInterface* remote_stream = observer_.remote_streams()->at(0); - remote_stream->RemoveTrack(remote_stream->GetAudioTracks()[0]); - remote_stream->RemoveTrack(remote_stream->GetVideoTracks()[0]); + remote_stream->RemoveTrack(remote_stream->GetAudioTracks()[0].get()); + remote_stream->RemoveTrack(remote_stream->GetVideoTracks()[0].get()); CreateAndSetRemoteOffer(kSdpStringWithoutStreams); @@ -2918,7 +2921,7 @@ TEST_P(PeerConnectionInterfaceTest, // Change the ssrc of the audio and video track. cricket::MediaContentDescription* desc = cricket::GetFirstAudioContentDescription(modified_offer->description()); - ASSERT_TRUE(desc != NULL); + ASSERT_TRUE(desc != nullptr); for (StreamParams& stream : desc->mutable_streams()) { for (unsigned int& ssrc : stream.ssrcs) { ++ssrc; @@ -2927,7 +2930,7 @@ TEST_P(PeerConnectionInterfaceTest, desc = cricket::GetFirstVideoContentDescription(modified_offer->description()); - ASSERT_TRUE(desc != NULL); + ASSERT_TRUE(desc != nullptr); for (StreamParams& stream : desc->mutable_streams()) { for (unsigned int& ssrc : stream.ssrcs) { ++ssrc; @@ -2966,9 +2969,9 @@ TEST_F(PeerConnectionInterfaceTestPlanB, // Add a new MediaStream but with the same tracks as in the first stream. rtc::scoped_refptr stream_1( webrtc::MediaStream::Create(kStreams[1])); - stream_1->AddTrack(stream_collection->at(0)->GetVideoTracks()[0]); - stream_1->AddTrack(stream_collection->at(0)->GetAudioTracks()[0]); - pc_->AddStream(stream_1); + stream_1->AddTrack(stream_collection->at(0)->GetVideoTracks()[0].get()); + stream_1->AddTrack(stream_collection->at(0)->GetAudioTracks()[0].get()); + pc_->AddStream(stream_1.get()); ASSERT_TRUE(DoCreateOffer(&offer, nullptr)); EXPECT_TRUE(DoSetLocalDescription(std::move(offer))); @@ -3576,27 +3579,27 @@ TEST_F(PeerConnectionInterfaceTestPlanB, CreatePeerConnectionWithoutDtls(); rtc::scoped_refptr stream( pc_factory_->CreateLocalMediaStream(kStreamId1)); - pc_->AddStream(stream); + pc_->AddStream(stream.get()); rtc::scoped_refptr audio_track( CreateAudioTrack("audio_track")); rtc::scoped_refptr video_track( CreateVideoTrack("video_track")); - stream->AddTrack(audio_track); + stream->AddTrack(audio_track.get()); EXPECT_TRUE_WAIT(observer_.renegotiation_needed_, kTimeout); observer_.renegotiation_needed_ = false; CreateOfferReceiveAnswer(); - stream->AddTrack(video_track); + stream->AddTrack(video_track.get()); EXPECT_TRUE_WAIT(observer_.renegotiation_needed_, kTimeout); observer_.renegotiation_needed_ = false; CreateOfferReceiveAnswer(); - stream->RemoveTrack(audio_track); + stream->RemoveTrack(audio_track.get()); EXPECT_TRUE_WAIT(observer_.renegotiation_needed_, kTimeout); observer_.renegotiation_needed_ = false; CreateOfferReceiveAnswer(); - stream->RemoveTrack(video_track); + stream->RemoveTrack(video_track.get()); EXPECT_TRUE_WAIT(observer_.renegotiation_needed_, kTimeout); observer_.renegotiation_needed_ = false; } @@ -3663,7 +3666,7 @@ class PeerConnectionMediaConfigTest : public ::testing::Test { auto result = pcf_->CreatePeerConnectionOrError(config, std::move(pc_dependencies)); EXPECT_TRUE(result.ok()); - observer_.SetPeerConnectionInterface(result.value()); + observer_.SetPeerConnectionInterface(result.value().get()); return result.value()->GetConfiguration().media_config; } @@ -3679,7 +3682,7 @@ TEST_F(PeerConnectionMediaConfigTest, TestCreateAndClose) { auto result = pcf_->CreatePeerConnectionOrError(config, std::move(pc_dependencies)); EXPECT_TRUE(result.ok()); - observer_.SetPeerConnectionInterface(result.value()); + observer_.SetPeerConnectionInterface(result.value().get()); result.value()->Close(); // No abort -> ok. SUCCEED(); } diff --git a/pc/peer_connection_jsep_unittest.cc b/pc/peer_connection_jsep_unittest.cc index d244b3175a..270062909d 100644 --- a/pc/peer_connection_jsep_unittest.cc +++ b/pc/peer_connection_jsep_unittest.cc @@ -123,7 +123,7 @@ class PeerConnectionJsepTest : public ::testing::Test { return nullptr; } - observer->SetPeerConnectionInterface(result.value()); + observer->SetPeerConnectionInterface(result.value().get()); return std::make_unique( pc_factory, result.MoveValue(), std::move(observer)); } @@ -1363,7 +1363,7 @@ TEST_F(PeerConnectionJsepTest, auto caller = CreatePeerConnection(); auto transceiver = caller->AddTransceiver(cricket::MEDIA_TYPE_AUDIO); - transceiver->sender()->SetTrack(caller->CreateAudioTrack(kTrackId)); + transceiver->sender()->SetTrack(caller->CreateAudioTrack(kTrackId).get()); auto offer = caller->CreateOffer(); auto contents = offer->description()->contents(); diff --git a/pc/peer_connection_message_handler.cc b/pc/peer_connection_message_handler.cc index 77db3e45e2..1d3dcf8fe7 100644 --- a/pc/peer_connection_message_handler.cc +++ b/pc/peer_connection_message_handler.cc @@ -117,7 +117,7 @@ void PeerConnectionMessageHandler::OnMessage(rtc::Message* msg) { case MSG_GETSTATS: { GetStatsMsg* param = static_cast(msg->pdata); StatsReports reports; - param->stats->GetStats(param->track, &reports); + param->stats->GetStats(param->track.get(), &reports); param->observer->OnComplete(reports); delete param; break; diff --git a/pc/peer_connection_rampup_tests.cc b/pc/peer_connection_rampup_tests.cc index dc5a11f58a..e1ebebb8dd 100644 --- a/pc/peer_connection_rampup_tests.cc +++ b/pc/peer_connection_rampup_tests.cc @@ -123,14 +123,15 @@ class PeerConnectionWrapperForRampUpTest : public PeerConnectionWrapper { video_track_sources_.back()->Start(); return rtc::scoped_refptr( pc_factory()->CreateVideoTrack(rtc::CreateRandomUuid(), - video_track_sources_.back())); + video_track_sources_.back().get())); } rtc::scoped_refptr CreateLocalAudioTrack( const cricket::AudioOptions options) { rtc::scoped_refptr source = pc_factory()->CreateAudioSource(options); - return pc_factory()->CreateAudioTrack(rtc::CreateRandomUuid(), source); + return pc_factory()->CreateAudioTrack(rtc::CreateRandomUuid(), + source.get()); } private: diff --git a/pc/peer_connection_rtp_unittest.cc b/pc/peer_connection_rtp_unittest.cc index 19073d2589..80a4a46f7f 100644 --- a/pc/peer_connection_rtp_unittest.cc +++ b/pc/peer_connection_rtp_unittest.cc @@ -138,7 +138,7 @@ class PeerConnectionRtpBaseTest : public ::testing::Test { auto result = pc_factory_->CreatePeerConnectionOrError( config, PeerConnectionDependencies(observer.get())); EXPECT_TRUE(result.ok()); - observer->SetPeerConnectionInterface(result.value()); + observer->SetPeerConnectionInterface(result.value().get()); return std::make_unique( pc_factory_, result.MoveValue(), std::move(observer)); } @@ -921,7 +921,7 @@ TEST_P(PeerConnectionRtpTest, rtc::make_ref_counted(); auto offer = caller->CreateOfferAndSetAsLocal(); - callee->pc()->SetRemoteDescription(observer, offer.release()); + callee->pc()->SetRemoteDescription(observer.get(), offer.release()); callee = nullptr; rtc::Thread::Current()->ProcessMessages(0); EXPECT_FALSE(observer->called()); @@ -1989,7 +1989,7 @@ TEST_P(PeerConnectionRtpTest, CreateTwoSendersWithSameTrack) { EXPECT_TRUE(sender1->SetTrack(nullptr)); auto sender2 = caller->AddTrack(track); EXPECT_TRUE(sender2); - EXPECT_TRUE(sender1->SetTrack(track)); + EXPECT_TRUE(sender1->SetTrack(track.get())); if (sdp_semantics_ == SdpSemantics::kPlanB_DEPRECATED) { // TODO(hbos): When https://crbug.com/webrtc/8734 is resolved, this should diff --git a/pc/peer_connection_signaling_unittest.cc b/pc/peer_connection_signaling_unittest.cc index 87fb9bbe03..54c49af1a8 100644 --- a/pc/peer_connection_signaling_unittest.cc +++ b/pc/peer_connection_signaling_unittest.cc @@ -153,7 +153,7 @@ class PeerConnectionSignalingBaseTest : public ::testing::Test { return nullptr; } - observer->SetPeerConnectionInterface(result.value()); + observer->SetPeerConnectionInterface(result.value().get()); return std::make_unique( pc_factory_, result.MoveValue(), std::move(observer)); } @@ -571,7 +571,7 @@ TEST_P(PeerConnectionSignalingTest, CreateOffersAndShutdown) { rtc::scoped_refptr observers[100]; for (auto& observer : observers) { observer = rtc::make_ref_counted(); - caller->pc()->CreateOffer(observer, options); + caller->pc()->CreateOffer(observer.get(), options); } // Destroy the PeerConnection. @@ -593,7 +593,7 @@ TEST_P(PeerConnectionSignalingTest, CloseCreateOfferAndShutdown) { auto caller = CreatePeerConnection(); auto observer = rtc::make_ref_counted(); caller->pc()->Close(); - caller->pc()->CreateOffer(observer, RTCOfferAnswerOptions()); + caller->pc()->CreateOffer(observer.get(), RTCOfferAnswerOptions()); caller.reset(nullptr); EXPECT_TRUE(observer->called()); } @@ -680,7 +680,7 @@ TEST_P(PeerConnectionSignalingTest, auto offer = caller->CreateOffer(RTCOfferAnswerOptions()); auto observer = MockSetSessionDescriptionObserver::Create(); - caller->pc()->SetLocalDescription(observer, offer.release()); + caller->pc()->SetLocalDescription(observer.get(), offer.release()); // The old observer is not invoked immediately. EXPECT_FALSE(observer->called()); // Process all currently pending messages by waiting for a posted task to run. @@ -720,7 +720,7 @@ TEST_P(PeerConnectionSignalingTest, CreateOfferBlocksSetRemoteDescription) { // Synchronously invoke CreateOffer() and SetRemoteDescription(). The // SetRemoteDescription() operation should be chained to be executed // asynchronously, when CreateOffer() completes. - callee->pc()->CreateOffer(offer_observer, RTCOfferAnswerOptions()); + callee->pc()->CreateOffer(offer_observer.get(), RTCOfferAnswerOptions()); callee->pc()->SetRemoteDescription( std::move(offer), rtc::make_ref_counted()); @@ -802,7 +802,7 @@ TEST_P(PeerConnectionSignalingTest, auto callee_set_remote_description_observer = MockSetSessionDescriptionObserver::Create(); callee->pc()->SetRemoteDescription( - callee_set_remote_description_observer, + callee_set_remote_description_observer.get(), CloneSessionDescription(caller->pc()->pending_local_description()) .release()); @@ -822,7 +822,7 @@ TEST_P(PeerConnectionSignalingTest, auto caller_set_remote_description_observer = MockSetSessionDescriptionObserver::Create(); caller->pc()->SetRemoteDescription( - caller_set_remote_description_observer, + caller_set_remote_description_observer.get(), CloneSessionDescription(callee->pc()->current_local_description()) .release()); EXPECT_TRUE_WAIT(caller_set_remote_description_observer->called(), @@ -1126,7 +1126,7 @@ TEST_F(PeerConnectionSignalingUnifiedPlanTest, // waiting for it would not ensure synchronicity. RTC_DCHECK(!caller->pc()->GetTransceivers()[0]->mid().has_value()); caller->pc()->SetLocalDescription( - rtc::make_ref_counted(), + rtc::make_ref_counted().get(), offer.release()); EXPECT_TRUE(caller->pc()->GetTransceivers()[0]->mid().has_value()); } @@ -1162,11 +1162,12 @@ TEST_F(PeerConnectionSignalingUnifiedPlanTest, // operation executed immediately. RTC_DCHECK(!pc->GetTransceivers()[0]->mid().has_value()); pc->SetLocalDescription( - rtc::make_ref_counted(), + rtc::make_ref_counted() + .get(), desc); EXPECT_TRUE(pc->GetTransceivers()[0]->mid().has_value()); }); - caller->pc()->CreateOffer(offer_observer, RTCOfferAnswerOptions()); + caller->pc()->CreateOffer(offer_observer.get(), RTCOfferAnswerOptions()); EXPECT_TRUE_WAIT(offer_observer->was_called(), kWaitTimeout); } @@ -1253,7 +1254,7 @@ TEST_F(PeerConnectionSignalingUnifiedPlanTest, EXPECT_TRUE(caller->observer()->has_negotiation_needed_event()); auto observer = rtc::make_ref_counted(); - caller->pc()->CreateOffer(observer, RTCOfferAnswerOptions()); + caller->pc()->CreateOffer(observer.get(), RTCOfferAnswerOptions()); // For this test to work, the operation has to be pending, i.e. the observer // has not yet been invoked. EXPECT_FALSE(observer->called()); diff --git a/pc/peer_connection_simulcast_unittest.cc b/pc/peer_connection_simulcast_unittest.cc index e732b65dce..e704aeba5a 100644 --- a/pc/peer_connection_simulcast_unittest.cc +++ b/pc/peer_connection_simulcast_unittest.cc @@ -140,7 +140,7 @@ class PeerConnectionSimulcastTests : public ::testing::Test { auto result = pc_factory_->CreatePeerConnectionOrError(config, std::move(pcd)); EXPECT_TRUE(result.ok()); - observer->SetPeerConnectionInterface(result.value()); + observer->SetPeerConnectionInterface(result.value().get()); return result.MoveValue(); } diff --git a/pc/peer_connection_wrapper.cc b/pc/peer_connection_wrapper.cc index 6a7a30edc0..e23b0f5f2d 100644 --- a/pc/peer_connection_wrapper.cc +++ b/pc/peer_connection_wrapper.cc @@ -135,7 +135,7 @@ std::unique_ptr PeerConnectionWrapper::CreateSdp( rtc::FunctionView fn, std::string* error_out) { auto observer = rtc::make_ref_counted(); - fn(observer); + fn(observer.get()); EXPECT_EQ_WAIT(true, observer->called(), kDefaultTimeout); if (error_out && !observer->result()) { *error_out = observer->error(); @@ -179,7 +179,7 @@ bool PeerConnectionWrapper::SetSdp( rtc::FunctionView fn, std::string* error_out) { auto observer = rtc::make_ref_counted(); - fn(observer); + fn(observer.get()); EXPECT_EQ_WAIT(true, observer->called(), kDefaultTimeout); if (error_out && !observer->result()) { *error_out = observer->error(); @@ -277,7 +277,8 @@ rtc::scoped_refptr PeerConnectionWrapper::CreateAudioTrack( rtc::scoped_refptr PeerConnectionWrapper::CreateVideoTrack( const std::string& label) { - return pc_factory()->CreateVideoTrack(label, FakeVideoTrackSource::Create()); + return pc_factory()->CreateVideoTrack(label, + FakeVideoTrackSource::Create().get()); } rtc::scoped_refptr PeerConnectionWrapper::AddTrack( @@ -329,7 +330,7 @@ bool PeerConnectionWrapper::IsIceConnected() { rtc::scoped_refptr PeerConnectionWrapper::GetStats() { auto callback = rtc::make_ref_counted(); - pc()->GetStats(callback); + pc()->GetStats(callback.get()); EXPECT_TRUE_WAIT(callback->called(), kDefaultTimeout); return callback->report(); } diff --git a/pc/rtc_stats_collector.cc b/pc/rtc_stats_collector.cc index 6f1033456d..537582ffc6 100644 --- a/pc/rtc_stats_collector.cc +++ b/pc/rtc_stats_collector.cc @@ -1893,7 +1893,8 @@ void RTCStatsCollector::ProduceAudioRTPStreamStats_n( inbound_audio->track_id = RTCMediaStreamTrackStatsIDFromDirectionAndAttachment( kReceiver, - track_media_info_map.GetAttachmentIdByTrack(audio_track).value()); + track_media_info_map.GetAttachmentIdByTrack(audio_track.get()) + .value()); } inbound_audio->transport_id = transport_id; // Remote-outbound. @@ -1924,7 +1925,8 @@ void RTCStatsCollector::ProduceAudioRTPStreamStats_n( track_media_info_map.GetAudioTrack(voice_sender_info); if (audio_track) { int attachment_id = - track_media_info_map.GetAttachmentIdByTrack(audio_track).value(); + track_media_info_map.GetAttachmentIdByTrack(audio_track.get()) + .value(); outbound_audio->track_id = RTCMediaStreamTrackStatsIDFromDirectionAndAttachment(kSender, attachment_id); @@ -1985,7 +1987,8 @@ void RTCStatsCollector::ProduceVideoRTPStreamStats_n( inbound_video->track_id = RTCMediaStreamTrackStatsIDFromDirectionAndAttachment( kReceiver, - track_media_info_map.GetAttachmentIdByTrack(video_track).value()); + track_media_info_map.GetAttachmentIdByTrack(video_track.get()) + .value()); } inbound_video->transport_id = transport_id; report->AddStats(std::move(inbound_video)); @@ -2007,7 +2010,8 @@ void RTCStatsCollector::ProduceVideoRTPStreamStats_n( track_media_info_map.GetVideoTrack(video_sender_info); if (video_track) { int attachment_id = - track_media_info_map.GetAttachmentIdByTrack(video_track).value(); + track_media_info_map.GetAttachmentIdByTrack(video_track.get()) + .value(); outbound_video->track_id = RTCMediaStreamTrackStatsIDFromDirectionAndAttachment(kSender, attachment_id); diff --git a/pc/rtc_stats_collector_unittest.cc b/pc/rtc_stats_collector_unittest.cc index 1438615ee6..910f0a4b47 100644 --- a/pc/rtc_stats_collector_unittest.cc +++ b/pc/rtc_stats_collector_unittest.cc @@ -427,8 +427,8 @@ class RTCStatsCollectorWrapper { rtc::scoped_refptr pc) : pc_(pc), stats_collector_( - RTCStatsCollector::Create(pc, 50 * rtc::kNumMicrosecsPerMillisec)) { - } + RTCStatsCollector::Create(pc.get(), + 50 * rtc::kNumMicrosecsPerMillisec)) {} rtc::scoped_refptr stats_collector() { return stats_collector_; @@ -631,7 +631,7 @@ class RTCStatsCollectorWrapper { private: rtc::scoped_refptr WaitForReport( rtc::scoped_refptr callback) { - EXPECT_TRUE_WAIT(callback->report(), kGetStatsReportTimeoutMs); + EXPECT_TRUE_WAIT(callback->report() != nullptr, kGetStatsReportTimeoutMs); int64_t after = rtc::TimeUTCMicros(); for (const RTCStats& stats : *callback->report()) { if (stats.type() == RTCRemoteInboundRtpStreamStats::kType || @@ -920,7 +920,7 @@ class RTCStatsCollectorTest : public ::testing::Test { TEST_F(RTCStatsCollectorTest, SingleCallback) { rtc::scoped_refptr result; stats_->stats_collector()->GetStatsReport(RTCStatsObtainer::Create(&result)); - EXPECT_TRUE_WAIT(result, kGetStatsReportTimeoutMs); + EXPECT_TRUE_WAIT(result != nullptr, kGetStatsReportTimeoutMs); } TEST_F(RTCStatsCollectorTest, MultipleCallbacks) { @@ -928,9 +928,9 @@ TEST_F(RTCStatsCollectorTest, MultipleCallbacks) { stats_->stats_collector()->GetStatsReport(RTCStatsObtainer::Create(&a)); stats_->stats_collector()->GetStatsReport(RTCStatsObtainer::Create(&b)); stats_->stats_collector()->GetStatsReport(RTCStatsObtainer::Create(&c)); - EXPECT_TRUE_WAIT(a, kGetStatsReportTimeoutMs); - EXPECT_TRUE_WAIT(b, kGetStatsReportTimeoutMs); - EXPECT_TRUE_WAIT(c, kGetStatsReportTimeoutMs); + EXPECT_TRUE_WAIT(a != nullptr, kGetStatsReportTimeoutMs); + EXPECT_TRUE_WAIT(b != nullptr, kGetStatsReportTimeoutMs); + EXPECT_TRUE_WAIT(c != nullptr, kGetStatsReportTimeoutMs); EXPECT_EQ(a.get(), b.get()); EXPECT_EQ(b.get(), c.get()); @@ -959,9 +959,9 @@ TEST_F(RTCStatsCollectorTest, MultipleCallbacksWithInvalidatedCacheInBetween) { // Cache is invalidated after 50 ms. fake_clock_.AdvanceTime(TimeDelta::Millis(51)); stats_->stats_collector()->GetStatsReport(RTCStatsObtainer::Create(&c)); - EXPECT_TRUE_WAIT(a, kGetStatsReportTimeoutMs); - EXPECT_TRUE_WAIT(b, kGetStatsReportTimeoutMs); - EXPECT_TRUE_WAIT(c, kGetStatsReportTimeoutMs); + EXPECT_TRUE_WAIT(a != nullptr, kGetStatsReportTimeoutMs); + EXPECT_TRUE_WAIT(b != nullptr, kGetStatsReportTimeoutMs); + EXPECT_TRUE_WAIT(c != nullptr, kGetStatsReportTimeoutMs); EXPECT_EQ(a.get(), b.get()); // The act of doing `AdvanceTime` processes all messages. If this was not the // case we might not require `c` to be fresher than `b`. @@ -1748,10 +1748,10 @@ TEST_F(RTCStatsCollectorTest, rtc::scoped_refptr report = stats_->GetStatsReport(); RTCMediaStreamStats expected_local_stream( - IdForType(report), report->timestamp_us()); + IdForType(report.get()), report->timestamp_us()); expected_local_stream.stream_identifier = local_stream->id(); expected_local_stream.track_ids = { - IdForType(report)}; + IdForType(report.get())}; ASSERT_TRUE(report->Get(expected_local_stream.id())) << "Did not find " << expected_local_stream.id() << " in " << report->ToJson(); @@ -1760,7 +1760,7 @@ TEST_F(RTCStatsCollectorTest, report->Get(expected_local_stream.id())->cast_to()); RTCMediaStreamTrackStats expected_local_audio_track_ssrc1( - IdForType(report), report->timestamp_us(), + IdForType(report.get()), report->timestamp_us(), RTCMediaStreamTrackKind::kAudio); expected_local_audio_track_ssrc1.track_identifier = local_audio_track->id(); expected_local_audio_track_ssrc1.media_source_id = @@ -1819,10 +1819,10 @@ TEST_F(RTCStatsCollectorTest, rtc::scoped_refptr report = stats_->GetStatsReport(); RTCMediaStreamStats expected_remote_stream( - IdForType(report), report->timestamp_us()); + IdForType(report.get()), report->timestamp_us()); expected_remote_stream.stream_identifier = remote_stream->id(); - expected_remote_stream.track_ids = - std::vector({IdForType(report)}); + expected_remote_stream.track_ids = std::vector( + {IdForType(report.get())}); ASSERT_TRUE(report->Get(expected_remote_stream.id())) << "Did not find " << expected_remote_stream.id() << " in " << report->ToJson(); @@ -1831,7 +1831,7 @@ TEST_F(RTCStatsCollectorTest, report->Get(expected_remote_stream.id())->cast_to()); RTCMediaStreamTrackStats expected_remote_audio_track( - IdForType(report), report->timestamp_us(), + IdForType(report.get()), report->timestamp_us(), RTCMediaStreamTrackKind::kAudio); expected_remote_audio_track.track_identifier = remote_audio_track->id(); // `expected_remote_audio_track.media_source_id` should be undefined @@ -2168,7 +2168,7 @@ TEST_F(RTCStatsCollectorTest, CollectRTCInboundRTPStreamStats_Video) { expected_video.ssrc = 1; expected_video.media_type = "video"; expected_video.kind = "video"; - expected_video.track_id = IdForType(report); + expected_video.track_id = IdForType(report.get()); expected_video.transport_id = "RTCTransport_TransportName_1"; expected_video.codec_id = "RTCCodec_VideoMid_Inbound_42"; expected_video.fir_count = 5; @@ -2259,7 +2259,7 @@ TEST_F(RTCStatsCollectorTest, CollectRTCOutboundRTPStreamStats_Audio) { expected_audio.ssrc = 1; expected_audio.media_type = "audio"; expected_audio.kind = "audio"; - expected_audio.track_id = IdForType(report); + expected_audio.track_id = IdForType(report.get()); expected_audio.transport_id = "RTCTransport_TransportName_1"; expected_audio.codec_id = "RTCCodec_AudioMid_Outbound_42"; expected_audio.packets_sent = 2; @@ -2661,7 +2661,7 @@ TEST_F(RTCStatsCollectorTest, CollectNoStreamRTCOutboundRTPStreamStats_Audio) { expected_audio.ssrc = 1; expected_audio.media_type = "audio"; expected_audio.kind = "audio"; - expected_audio.track_id = IdForType(report); + expected_audio.track_id = IdForType(report.get()); expected_audio.transport_id = "RTCTransport_TransportName_1"; expected_audio.codec_id = "RTCCodec_AudioMid_Outbound_42"; expected_audio.packets_sent = 2; @@ -3200,7 +3200,7 @@ TEST_F(RTCStatsCollectorTest, CollectEchoReturnLossFromTrackAudioProcessor) { rtc::scoped_refptr report = stats_->GetStatsReport(); RTCMediaStreamTrackStats expected_local_audio_track_ssrc1( - IdForType(report), report->timestamp_us(), + IdForType(report.get()), report->timestamp_us(), RTCMediaStreamTrackKind::kAudio); expected_local_audio_track_ssrc1.track_identifier = local_audio_track->id(); expected_local_audio_track_ssrc1.media_source_id = @@ -3493,7 +3493,8 @@ class FakeRTCStatsCollector : public RTCStatsCollector, TEST(RTCStatsCollectorTestWithFakeCollector, ThreadUsageAndResultsMerging) { auto pc = rtc::make_ref_counted(); rtc::scoped_refptr stats_collector( - FakeRTCStatsCollector::Create(pc, 50 * rtc::kNumMicrosecsPerMillisec)); + FakeRTCStatsCollector::Create(pc.get(), + 50 * rtc::kNumMicrosecsPerMillisec)); stats_collector->VerifyThreadUsageAndResultsMerging(); } diff --git a/pc/rtc_stats_integrationtest.cc b/pc/rtc_stats_integrationtest.cc index 085f0636a4..21acf3a87c 100644 --- a/pc/rtc_stats_integrationtest.cc +++ b/pc/rtc_stats_integrationtest.cc @@ -174,8 +174,8 @@ class RTCStatsIntegrationTest : public ::testing::Test { PeerConnectionInterface* pc) { rtc::scoped_refptr stats_obtainer = RTCStatsObtainer::Create(); - pc->GetStats(stats_obtainer); - EXPECT_TRUE_WAIT(stats_obtainer->report(), kGetStatsTimeoutMs); + pc->GetStats(stats_obtainer.get()); + EXPECT_TRUE_WAIT(stats_obtainer->report() != nullptr, kGetStatsTimeoutMs); return stats_obtainer->report(); } @@ -186,7 +186,7 @@ class RTCStatsIntegrationTest : public ::testing::Test { rtc::scoped_refptr stats_obtainer = RTCStatsObtainer::Create(); pc->GetStats(selector, stats_obtainer); - EXPECT_TRUE_WAIT(stats_obtainer->report(), kGetStatsTimeoutMs); + EXPECT_TRUE_WAIT(stats_obtainer->report() != nullptr, kGetStatsTimeoutMs); return stats_obtainer->report(); } @@ -432,7 +432,7 @@ class RTCStatsReportVerifier { } bool VerifyRTCCertificateStats(const RTCCertificateStats& certificate) { - RTCStatsVerifier verifier(report_, &certificate); + RTCStatsVerifier verifier(report_.get(), &certificate); verifier.TestMemberIsDefined(certificate.fingerprint); verifier.TestMemberIsDefined(certificate.fingerprint_algorithm); verifier.TestMemberIsDefined(certificate.base64_certificate); @@ -442,7 +442,7 @@ class RTCStatsReportVerifier { } bool VerifyRTCCodecStats(const RTCCodecStats& codec) { - RTCStatsVerifier verifier(report_, &codec); + RTCStatsVerifier verifier(report_.get(), &codec); verifier.TestMemberIsIDReference(codec.transport_id, RTCTransportStats::kType); verifier.TestMemberIsDefined(codec.payload_type); @@ -460,7 +460,7 @@ class RTCStatsReportVerifier { } bool VerifyRTCDataChannelStats(const RTCDataChannelStats& data_channel) { - RTCStatsVerifier verifier(report_, &data_channel); + RTCStatsVerifier verifier(report_.get(), &data_channel); verifier.TestMemberIsDefined(data_channel.label); verifier.TestMemberIsDefined(data_channel.protocol); verifier.TestMemberIsDefined(data_channel.data_channel_identifier); @@ -475,7 +475,7 @@ class RTCStatsReportVerifier { bool VerifyRTCIceCandidatePairStats( const RTCIceCandidatePairStats& candidate_pair, bool is_selected_pair) { - RTCStatsVerifier verifier(report_, &candidate_pair); + RTCStatsVerifier verifier(report_.get(), &candidate_pair); verifier.TestMemberIsIDReference(candidate_pair.transport_id, RTCTransportStats::kType); verifier.TestMemberIsIDReference(candidate_pair.local_candidate_id, @@ -526,7 +526,7 @@ class RTCStatsReportVerifier { } bool VerifyRTCIceCandidateStats(const RTCIceCandidateStats& candidate) { - RTCStatsVerifier verifier(report_, &candidate); + RTCStatsVerifier verifier(report_.get(), &candidate); verifier.TestMemberIsIDReference(candidate.transport_id, RTCTransportStats::kType); verifier.TestMemberIsDefined(candidate.is_remote); @@ -561,7 +561,7 @@ class RTCStatsReportVerifier { } bool VerifyRTCMediaStreamStats(const RTCMediaStreamStats& media_stream) { - RTCStatsVerifier verifier(report_, &media_stream); + RTCStatsVerifier verifier(report_.get(), &media_stream); verifier.TestMemberIsDefined(media_stream.stream_identifier); verifier.TestMemberIsIDReference(media_stream.track_ids, RTCMediaStreamTrackStats::kType); @@ -570,7 +570,7 @@ class RTCStatsReportVerifier { bool VerifyRTCMediaStreamTrackStats( const RTCMediaStreamTrackStats& media_stream_track) { - RTCStatsVerifier verifier(report_, &media_stream_track); + RTCStatsVerifier verifier(report_.get(), &media_stream_track); verifier.TestMemberIsDefined(media_stream_track.track_identifier); verifier.TestMemberIsDefined(media_stream_track.remote_source); verifier.TestMemberIsDefined(media_stream_track.ended); @@ -771,7 +771,7 @@ class RTCStatsReportVerifier { bool VerifyRTCPeerConnectionStats( const RTCPeerConnectionStats& peer_connection) { - RTCStatsVerifier verifier(report_, &peer_connection); + RTCStatsVerifier verifier(report_.get(), &peer_connection); verifier.TestMemberIsNonNegative( peer_connection.data_channels_opened); verifier.TestMemberIsNonNegative( @@ -808,7 +808,7 @@ class RTCStatsReportVerifier { bool VerifyRTCInboundRTPStreamStats( const RTCInboundRTPStreamStats& inbound_stream) { - RTCStatsVerifier verifier(report_, &inbound_stream); + RTCStatsVerifier verifier(report_.get(), &inbound_stream); VerifyRTCReceivedRtpStreamStats(inbound_stream, verifier, inbound_stream.media_type.is_defined() && *inbound_stream.media_type == "audio"); @@ -936,7 +936,7 @@ class RTCStatsReportVerifier { bool VerifyRTCOutboundRTPStreamStats( const RTCOutboundRTPStreamStats& outbound_stream) { - RTCStatsVerifier verifier(report_, &outbound_stream); + RTCStatsVerifier verifier(report_.get(), &outbound_stream); VerifyRTCRTPStreamStats(outbound_stream, verifier); if (outbound_stream.media_type.is_defined() && *outbound_stream.media_type == "video") { @@ -1048,7 +1048,7 @@ class RTCStatsReportVerifier { bool VerifyRTCRemoteInboundRtpStreamStats( const RTCRemoteInboundRtpStreamStats& remote_inbound_stream) { - RTCStatsVerifier verifier(report_, &remote_inbound_stream); + RTCStatsVerifier verifier(report_.get(), &remote_inbound_stream); VerifyRTCReceivedRtpStreamStats(remote_inbound_stream, verifier, false); verifier.TestMemberIsDefined(remote_inbound_stream.fraction_lost); verifier.TestMemberIsIDReference(remote_inbound_stream.local_id, @@ -1064,7 +1064,7 @@ class RTCStatsReportVerifier { bool VerifyRTCRemoteOutboundRTPStreamStats( const RTCRemoteOutboundRtpStreamStats& remote_outbound_stream) { - RTCStatsVerifier verifier(report_, &remote_outbound_stream); + RTCStatsVerifier verifier(report_.get(), &remote_outbound_stream); VerifyRTCRTPStreamStats(remote_outbound_stream, verifier); VerifyRTCSentRTPStreamStats(remote_outbound_stream, verifier); verifier.TestMemberIsIDReference(remote_outbound_stream.local_id, @@ -1088,7 +1088,7 @@ class RTCStatsReportVerifier { } bool VerifyRTCAudioSourceStats(const RTCAudioSourceStats& audio_source) { - RTCStatsVerifier verifier(report_, &audio_source); + RTCStatsVerifier verifier(report_.get(), &audio_source); VerifyRTCMediaSourceStats(audio_source, &verifier); // Audio level, unlike audio energy, only gets updated at a certain // frequency, so we don't require that one to be positive to avoid a race @@ -1106,7 +1106,7 @@ class RTCStatsReportVerifier { } bool VerifyRTCVideoSourceStats(const RTCVideoSourceStats& video_source) { - RTCStatsVerifier verifier(report_, &video_source); + RTCStatsVerifier verifier(report_.get(), &video_source); VerifyRTCMediaSourceStats(video_source, &verifier); // TODO(hbos): This integration test uses fakes that doesn't support // VideoTrackSourceInterface::Stats. When this is fixed we should @@ -1120,7 +1120,7 @@ class RTCStatsReportVerifier { } bool VerifyRTCTransportStats(const RTCTransportStats& transport) { - RTCStatsVerifier verifier(report_, &transport); + RTCStatsVerifier verifier(report_.get(), &transport); verifier.TestMemberIsNonNegative(transport.bytes_sent); verifier.TestMemberIsNonNegative(transport.packets_sent); verifier.TestMemberIsNonNegative(transport.bytes_received); @@ -1240,7 +1240,7 @@ TEST_F(RTCStatsIntegrationTest, rtc::scoped_refptr stats_obtainer = RTCStatsObtainer::Create(); - caller_->pc()->GetStats(stats_obtainer); + caller_->pc()->GetStats(stats_obtainer.get()); // This will destroy the peer connection. caller_ = nullptr; // Any pending stats requests should have completed in the act of destroying @@ -1257,7 +1257,7 @@ TEST_F(RTCStatsIntegrationTest, GetsStatsWhileClosingPeerConnection) { rtc::scoped_refptr stats_obtainer = RTCStatsObtainer::Create(); - caller_->pc()->GetStats(stats_obtainer); + caller_->pc()->GetStats(stats_obtainer.get()); caller_->pc()->Close(); ASSERT_TRUE(stats_obtainer->report()); diff --git a/pc/rtp_sender.cc b/pc/rtp_sender.cc index dc53105b6d..6c4c57893c 100644 --- a/pc/rtp_sender.cc +++ b/pc/rtp_sender.cc @@ -651,7 +651,8 @@ void VideoRtpSender::SetSend() { break; } bool success = worker_thread_->Invoke(RTC_FROM_HERE, [&] { - return video_media_channel()->SetVideoSend(ssrc_, &options, video_track()); + return video_media_channel()->SetVideoSend(ssrc_, &options, + video_track().get()); }); RTC_DCHECK(success); } diff --git a/pc/rtp_sender_receiver_unittest.cc b/pc/rtp_sender_receiver_unittest.cc index 20621e44ae..6b3f6e04bd 100644 --- a/pc/rtp_sender_receiver_unittest.cc +++ b/pc/rtp_sender_receiver_unittest.cc @@ -210,7 +210,7 @@ class RtpSenderReceiverTest FakeVideoTrackSource::Create(is_screencast)); video_track_ = VideoTrack::Create(kVideoTrackId, source, rtc::Thread::Current()); - EXPECT_TRUE(local_stream_->AddTrack(video_track_)); + EXPECT_TRUE(local_stream_->AddTrack(video_track_.get())); } void CreateAudioRtpSender() { CreateAudioRtpSender(nullptr); } @@ -218,13 +218,13 @@ class RtpSenderReceiverTest void CreateAudioRtpSender( const rtc::scoped_refptr& source) { audio_track_ = AudioTrack::Create(kAudioTrackId, source); - EXPECT_TRUE(local_stream_->AddTrack(audio_track_)); + EXPECT_TRUE(local_stream_->AddTrack(audio_track_.get())); std::unique_ptr set_streams_observer = std::make_unique(); audio_rtp_sender_ = AudioRtpSender::Create(worker_thread_, audio_track_->id(), nullptr, set_streams_observer.get()); - ASSERT_TRUE(audio_rtp_sender_->SetTrack(audio_track_)); + ASSERT_TRUE(audio_rtp_sender_->SetTrack(audio_track_.get())); EXPECT_CALL(*set_streams_observer, OnSetStreams()); audio_rtp_sender_->SetStreams({local_stream_->id()}); audio_rtp_sender_->SetMediaChannel(voice_media_channel_); @@ -288,7 +288,7 @@ class RtpSenderReceiverTest std::make_unique(); video_rtp_sender_ = VideoRtpSender::Create( worker_thread_, video_track_->id(), set_streams_observer.get()); - ASSERT_TRUE(video_rtp_sender_->SetTrack(video_track_)); + ASSERT_TRUE(video_rtp_sender_->SetTrack(video_track_.get())); EXPECT_CALL(*set_streams_observer, OnSetStreams()); video_rtp_sender_->SetStreams({local_stream_->id()}); video_rtp_sender_->SetMediaChannel(video_media_channel_); @@ -733,7 +733,7 @@ TEST_F(RtpSenderReceiverTest, AudioSenderWithoutTrackAndSsrc) { AudioTrack::Create(kAudioTrackId, nullptr); // Track but no SSRC. - EXPECT_TRUE(audio_rtp_sender_->SetTrack(track)); + EXPECT_TRUE(audio_rtp_sender_->SetTrack(track.get())); VerifyVoiceChannelNoInput(); // SSRC but no track. @@ -748,7 +748,7 @@ TEST_F(RtpSenderReceiverTest, VideoSenderWithoutTrackAndSsrc) { CreateVideoRtpSenderWithNoTrack(); // Track but no SSRC. - EXPECT_TRUE(video_rtp_sender_->SetTrack(video_track_)); + EXPECT_TRUE(video_rtp_sender_->SetTrack(video_track_.get())); VerifyVideoChannelNoInput(); // SSRC but no track. @@ -764,7 +764,7 @@ TEST_F(RtpSenderReceiverTest, AudioSenderEarlyWarmupSsrcThenTrack) { rtc::scoped_refptr track = AudioTrack::Create(kAudioTrackId, nullptr); audio_rtp_sender_->SetSsrc(kAudioSsrc); - audio_rtp_sender_->SetTrack(track); + audio_rtp_sender_->SetTrack(track.get()); VerifyVoiceChannelInput(); DestroyAudioRtpSender(); @@ -776,7 +776,7 @@ TEST_F(RtpSenderReceiverTest, AudioSenderEarlyWarmupTrackThenSsrc) { CreateAudioRtpSenderWithNoTrack(); rtc::scoped_refptr track = AudioTrack::Create(kAudioTrackId, nullptr); - audio_rtp_sender_->SetTrack(track); + audio_rtp_sender_->SetTrack(track.get()); audio_rtp_sender_->SetSsrc(kAudioSsrc); VerifyVoiceChannelInput(); @@ -789,7 +789,7 @@ TEST_F(RtpSenderReceiverTest, VideoSenderEarlyWarmupSsrcThenTrack) { AddVideoTrack(); CreateVideoRtpSenderWithNoTrack(); video_rtp_sender_->SetSsrc(kVideoSsrc); - video_rtp_sender_->SetTrack(video_track_); + video_rtp_sender_->SetTrack(video_track_.get()); VerifyVideoChannelInput(); DestroyVideoRtpSender(); @@ -800,7 +800,7 @@ TEST_F(RtpSenderReceiverTest, VideoSenderEarlyWarmupSsrcThenTrack) { TEST_F(RtpSenderReceiverTest, VideoSenderEarlyWarmupTrackThenSsrc) { AddVideoTrack(); CreateVideoRtpSenderWithNoTrack(); - video_rtp_sender_->SetTrack(video_track_); + video_rtp_sender_->SetTrack(video_track_.get()); video_rtp_sender_->SetSsrc(kVideoSsrc); VerifyVideoChannelInput(); @@ -897,13 +897,13 @@ TEST_F(RtpSenderReceiverTest, AudioSenderCanSetParametersBeforeNegotiation) { TEST_F(RtpSenderReceiverTest, AudioSenderInitParametersMovedAfterNegotiation) { audio_track_ = AudioTrack::Create(kAudioTrackId, nullptr); - EXPECT_TRUE(local_stream_->AddTrack(audio_track_)); + EXPECT_TRUE(local_stream_->AddTrack(audio_track_.get())); std::unique_ptr set_streams_observer = std::make_unique(); audio_rtp_sender_ = AudioRtpSender::Create( worker_thread_, audio_track_->id(), nullptr, set_streams_observer.get()); - ASSERT_TRUE(audio_rtp_sender_->SetTrack(audio_track_)); + ASSERT_TRUE(audio_rtp_sender_->SetTrack(audio_track_.get())); EXPECT_CALL(*set_streams_observer, OnSetStreams()); audio_rtp_sender_->SetStreams({local_stream_->id()}); @@ -1094,7 +1094,7 @@ TEST_F(RtpSenderReceiverTest, VideoSenderInitParametersMovedAfterNegotiation) { std::make_unique(); video_rtp_sender_ = VideoRtpSender::Create(worker_thread_, video_track_->id(), set_streams_observer.get()); - ASSERT_TRUE(video_rtp_sender_->SetTrack(video_track_)); + ASSERT_TRUE(video_rtp_sender_->SetTrack(video_track_.get())); EXPECT_CALL(*set_streams_observer, OnSetStreams()); video_rtp_sender_->SetStreams({local_stream_->id()}); @@ -1135,7 +1135,7 @@ TEST_F(RtpSenderReceiverTest, std::make_unique(); video_rtp_sender_ = VideoRtpSender::Create(worker_thread_, video_track_->id(), set_streams_observer.get()); - ASSERT_TRUE(video_rtp_sender_->SetTrack(video_track_)); + ASSERT_TRUE(video_rtp_sender_->SetTrack(video_track_.get())); EXPECT_CALL(*set_streams_observer, OnSetStreams()); video_rtp_sender_->SetStreams({local_stream_->id()}); @@ -1524,7 +1524,7 @@ TEST_F(RtpSenderReceiverTest, video_track_->set_content_hint(VideoTrackInterface::ContentHint::kDetailed); video_rtp_sender_ = VideoRtpSender::Create(worker_thread_, video_track_->id(), set_streams_observer.get()); - ASSERT_TRUE(video_rtp_sender_->SetTrack(video_track_)); + ASSERT_TRUE(video_rtp_sender_->SetTrack(video_track_.get())); EXPECT_CALL(*set_streams_observer, OnSetStreams()); video_rtp_sender_->SetStreams({local_stream_->id()}); video_rtp_sender_->SetMediaChannel(video_media_channel_); diff --git a/pc/rtp_transmission_manager.cc b/pc/rtp_transmission_manager.cc index 538fa62fe7..1e9443f04d 100644 --- a/pc/rtp_transmission_manager.cc +++ b/pc/rtp_transmission_manager.cc @@ -177,7 +177,7 @@ RtpTransmissionManager::AddTrackUnifiedPlan( transceiver->internal()->set_direction( RtpTransceiverDirection::kSendOnly); } - transceiver->sender()->SetTrack(track); + transceiver->sender()->SetTrack(track.get()); transceiver->internal()->sender_internal()->set_stream_ids(stream_ids); transceiver->internal()->set_reused_for_addtrack(true); } else { @@ -227,7 +227,7 @@ RtpTransmissionManager::CreateSender( signaling_thread(), VideoRtpSender::Create(worker_thread(), id, this)); NoteUsageEvent(UsageEvent::VIDEO_ADDED); } - bool set_track_succeeded = sender->SetTrack(track); + bool set_track_succeeded = sender->SetTrack(track.get()); RTC_DCHECK(set_track_succeeded); sender->internal()->set_stream_ids(stream_ids); sender->internal()->set_init_send_encodings(send_encodings); @@ -409,7 +409,7 @@ void RtpTransmissionManager::RemoveAudioTrack(AudioTrackInterface* track, << " doesn't exist."; return; } - GetAudioTransceiver()->internal()->RemoveSender(sender); + GetAudioTransceiver()->internal()->RemoveSender(sender.get()); } void RtpTransmissionManager::AddVideoTrack(VideoTrackInterface* track, @@ -448,7 +448,7 @@ void RtpTransmissionManager::RemoveVideoTrack(VideoTrackInterface* track, << " doesn't exist."; return; } - GetVideoTransceiver()->internal()->RemoveSender(sender); + GetVideoTransceiver()->internal()->RemoveSender(sender.get()); } void RtpTransmissionManager::CreateAudioReceiver( @@ -511,9 +511,9 @@ RtpTransmissionManager::RemoveAndStopReceiver( return nullptr; } if (receiver->media_type() == cricket::MEDIA_TYPE_AUDIO) { - GetAudioTransceiver()->internal()->RemoveReceiver(receiver); + GetAudioTransceiver()->internal()->RemoveReceiver(receiver.get()); } else { - GetVideoTransceiver()->internal()->RemoveReceiver(receiver); + GetVideoTransceiver()->internal()->RemoveReceiver(receiver.get()); } return receiver; } @@ -553,7 +553,7 @@ void RtpTransmissionManager::OnRemoteSenderRemoved( rtc::scoped_refptr audio_track = stream->FindAudioTrack(sender_info.sender_id); if (audio_track) { - stream->RemoveTrack(audio_track); + stream->RemoveTrack(audio_track.get()); } } else if (media_type == cricket::MEDIA_TYPE_VIDEO) { // Stopping or destroying a VideoRtpReceiver will end the @@ -564,7 +564,7 @@ void RtpTransmissionManager::OnRemoteSenderRemoved( if (video_track) { // There's no guarantee the track is still available, e.g. the track may // have been removed from the stream by an application. - stream->RemoveTrack(video_track); + stream->RemoveTrack(video_track.get()); } } else { RTC_DCHECK_NOTREACHED() << "Invalid media type"; diff --git a/pc/scenario_tests/goog_cc_test.cc b/pc/scenario_tests/goog_cc_test.cc index f0a30dfd86..ea96408ac7 100644 --- a/pc/scenario_tests/goog_cc_test.cc +++ b/pc/scenario_tests/goog_cc_test.cc @@ -75,7 +75,7 @@ TEST(GoogCcPeerScenarioTest, MAYBE_NoBweChangeFromVideoUnmute) { auto get_bwe = [&] { auto callback = rtc::make_ref_counted(); - caller->pc()->GetStats(callback); + caller->pc()->GetStats(callback.get()); s.net()->time_controller()->Wait([&] { return callback->called(); }); auto stats = callback->report()->GetStatsOfType()[0]; diff --git a/pc/sdp_offer_answer.cc b/pc/sdp_offer_answer.cc index 1ad793c841..fcec8eb9e5 100644 --- a/pc/sdp_offer_answer.cc +++ b/pc/sdp_offer_answer.cc @@ -1100,10 +1100,10 @@ class SdpOfferAnswerHandler::SetSessionDescriptionObserverAdapter return; if (error.ok()) { handler_->pc_->message_handler()->PostSetSessionDescriptionSuccess( - inner_observer_); + inner_observer_.get()); } else { handler_->pc_->message_handler()->PostSetSessionDescriptionFailure( - inner_observer_, std::move(error)); + inner_observer_.get(), std::move(error)); } } @@ -2029,7 +2029,7 @@ void SdpOfferAnswerHandler::ApplyRemoteDescriptionUpdateTransceiverState( // Once all processing has finished, fire off callbacks. auto observer = pc_->Observer(); for (const auto& transceiver : now_receiving_transceivers) { - pc_->stats()->AddTrack(transceiver->receiver()->track()); + pc_->stats()->AddTrack(transceiver->receiver()->track().get()); observer->OnTrack(transceiver); observer->OnAddTrack(transceiver->receiver(), transceiver->receiver()->streams()); @@ -2076,7 +2076,7 @@ void SdpOfferAnswerHandler::PlanBUpdateSendersAndReceivers( RtpTransceiverDirectionHasSend(audio_desc->direction()); UpdateRemoteSendersList(GetActiveStreams(audio_desc), default_audio_track_needed, audio_desc->type(), - new_streams); + new_streams.get()); } } @@ -2091,7 +2091,7 @@ void SdpOfferAnswerHandler::PlanBUpdateSendersAndReceivers( RtpTransceiverDirectionHasSend(video_desc->direction()); UpdateRemoteSendersList(GetActiveStreams(video_desc), default_video_track_needed, video_desc->type(), - new_streams); + new_streams.get()); } } @@ -2229,7 +2229,8 @@ void SdpOfferAnswerHandler::DoCreateOffer( std::string error = "CreateOffer called when PeerConnection is closed."; RTC_LOG(LS_ERROR) << error; pc_->message_handler()->PostCreateSessionDescriptionFailure( - observer, RTCError(RTCErrorType::INVALID_STATE, std::move(error))); + observer.get(), + RTCError(RTCErrorType::INVALID_STATE, std::move(error))); return; } @@ -2239,7 +2240,7 @@ void SdpOfferAnswerHandler::DoCreateOffer( std::string error_message = GetSessionErrorMsg(); RTC_LOG(LS_ERROR) << "CreateOffer: " << error_message; pc_->message_handler()->PostCreateSessionDescriptionFailure( - observer, + observer.get(), RTCError(RTCErrorType::INTERNAL_ERROR, std::move(error_message))); return; } @@ -2248,7 +2249,8 @@ void SdpOfferAnswerHandler::DoCreateOffer( std::string error = "CreateOffer called with invalid options."; RTC_LOG(LS_ERROR) << error; pc_->message_handler()->PostCreateSessionDescriptionFailure( - observer, RTCError(RTCErrorType::INVALID_PARAMETER, std::move(error))); + observer.get(), + RTCError(RTCErrorType::INVALID_PARAMETER, std::move(error))); return; } @@ -2258,14 +2260,15 @@ void SdpOfferAnswerHandler::DoCreateOffer( RTCError error = HandleLegacyOfferOptions(options); if (!error.ok()) { pc_->message_handler()->PostCreateSessionDescriptionFailure( - observer, std::move(error)); + observer.get(), std::move(error)); return; } } cricket::MediaSessionOptions session_options; GetOptionsForOffer(options, &session_options); - webrtc_session_desc_factory_->CreateOffer(observer, options, session_options); + webrtc_session_desc_factory_->CreateOffer(observer.get(), options, + session_options); } void SdpOfferAnswerHandler::CreateAnswer( @@ -2313,7 +2316,7 @@ void SdpOfferAnswerHandler::DoCreateAnswer( std::string error_message = GetSessionErrorMsg(); RTC_LOG(LS_ERROR) << "CreateAnswer: " << error_message; pc_->message_handler()->PostCreateSessionDescriptionFailure( - observer, + observer.get(), RTCError(RTCErrorType::INTERNAL_ERROR, std::move(error_message))); return; } @@ -2325,7 +2328,8 @@ void SdpOfferAnswerHandler::DoCreateAnswer( "have-remote-offer or have-local-pranswer."; RTC_LOG(LS_ERROR) << error; pc_->message_handler()->PostCreateSessionDescriptionFailure( - observer, RTCError(RTCErrorType::INVALID_STATE, std::move(error))); + observer.get(), + RTCError(RTCErrorType::INVALID_STATE, std::move(error))); return; } @@ -2349,7 +2353,7 @@ void SdpOfferAnswerHandler::DoCreateAnswer( cricket::MediaSessionOptions session_options; GetOptionsForAnswer(options, &session_options); - webrtc_session_desc_factory_->CreateAnswer(observer, session_options); + webrtc_session_desc_factory_->CreateAnswer(observer.get(), session_options); } void SdpOfferAnswerHandler::DoSetRemoteDescription( @@ -2775,7 +2779,7 @@ bool SdpOfferAnswerHandler::AddStream(MediaStreamInterface* local_stream) { if (pc_->IsClosed()) { return false; } - if (!CanAddLocalMediaStream(local_streams_, local_stream)) { + if (!CanAddLocalMediaStream(local_streams_.get(), local_stream)) { return false; } @@ -4245,7 +4249,7 @@ void SdpOfferAnswerHandler::RemoveRemoteStreamsIfEmpty( for (const auto& remote_stream : remote_streams) { if (remote_stream->GetAudioTracks().empty() && remote_stream->GetVideoTracks().empty()) { - remote_streams_->RemoveStream(remote_stream); + remote_streams_->RemoveStream(remote_stream.get()); removed_streams->push_back(remote_stream); } } @@ -4373,7 +4377,7 @@ void SdpOfferAnswerHandler::UpdateRemoteSendersList( rtp_manager()->FindSenderInfo(*current_senders, stream_id, sender_id); if (!sender_info) { current_senders->push_back(RtpSenderInfo(stream_id, sender_id, ssrc)); - rtp_manager()->OnRemoteSenderAdded(current_senders->back(), stream, + rtp_manager()->OnRemoteSenderAdded(current_senders->back(), stream.get(), media_type); } } @@ -4398,7 +4402,7 @@ void SdpOfferAnswerHandler::UpdateRemoteSendersList( current_senders->push_back( RtpSenderInfo(kDefaultStreamId, default_sender_id, /*ssrc=*/0)); rtp_manager()->OnRemoteSenderAdded(current_senders->back(), - default_stream, media_type); + default_stream.get(), media_type); } } } @@ -4633,7 +4637,7 @@ void SdpOfferAnswerHandler::UpdateEndedRemoteMediaStreams() { } for (auto& stream : streams_to_remove) { - remote_streams_->RemoveStream(stream); + remote_streams_->RemoveStream(stream.get()); pc_->Observer()->OnRemoveStream(std::move(stream)); } } diff --git a/pc/sdp_offer_answer_unittest.cc b/pc/sdp_offer_answer_unittest.cc index 2f441effa0..2ce9e52d52 100644 --- a/pc/sdp_offer_answer_unittest.cc +++ b/pc/sdp_offer_answer_unittest.cc @@ -85,7 +85,7 @@ class SdpOfferAnswerTest : public ::testing::Test { auto result = pc_factory_->CreatePeerConnectionOrError( config, PeerConnectionDependencies(observer.get())); EXPECT_TRUE(result.ok()); - observer->SetPeerConnectionInterface(result.value()); + observer->SetPeerConnectionInterface(result.value().get()); return std::make_unique( pc_factory_, result.MoveValue(), std::move(observer)); } diff --git a/pc/stats_collector_unittest.cc b/pc/stats_collector_unittest.cc index 61d09537c3..06c43c1835 100644 --- a/pc/stats_collector_unittest.cc +++ b/pc/stats_collector_unittest.cc @@ -666,7 +666,7 @@ class StatsCollectorTest : public ::testing::Test { const std::string kTransportName = "transport"; auto pc = CreatePeerConnection(); - auto stats = CreateStatsCollector(pc); + auto stats = CreateStatsCollector(pc.get()); pc->AddVoiceChannel("audio", kTransportName); @@ -779,10 +779,10 @@ class StatsCollectorTrackTest : public StatsCollectorTest, if (GetParam()) { if (!stream_) stream_ = MediaStream::Create("streamid"); - stream_->AddTrack(track_); - stats->AddStream(stream_); + stream_->AddTrack(track_.get()); + stats->AddStream(stream_.get()); } else { - stats->AddTrack(track_); + stats->AddTrack(track_.get()); } pc->AddSender(CreateMockSender(track_, kSsrcOfTrack)); } @@ -794,10 +794,10 @@ class StatsCollectorTrackTest : public StatsCollectorTest, rtc::Thread::Current()); if (GetParam()) { stream_ = MediaStream::Create("streamid"); - stream_->AddTrack(track_); - stats->AddStream(stream_); + stream_->AddTrack(track_.get()); + stats->AddStream(stream_.get()); } else { - stats->AddTrack(track_); + stats->AddTrack(track_.get()); } pc->AddReceiver(CreateMockReceiver(track_, kSsrcOfTrack)); } @@ -813,10 +813,10 @@ class StatsCollectorTrackTest : public StatsCollectorTest, if (GetParam()) { if (!stream_) stream_ = MediaStream::Create("streamid"); - stream_->AddTrack(audio_track_); - stats->AddStream(stream_); + stream_->AddTrack(audio_track_.get()); + stats->AddStream(stream_.get()); } else { - stats->AddTrack(audio_track_); + stats->AddTrack(audio_track_.get()); } return pc->AddSender(CreateMockSender(audio_track_, kSsrcOfTrack)); } @@ -826,12 +826,12 @@ class StatsCollectorTrackTest : public StatsCollectorTest, StatsCollectorForTest* stats) { audio_track_ = rtc::make_ref_counted(kRemoteTrackId); if (GetParam()) { - if (stream_ == NULL) + if (stream_ == nullptr) stream_ = MediaStream::Create("streamid"); - stream_->AddTrack(audio_track_); - stats->AddStream(stream_); + stream_->AddTrack(audio_track_.get()); + stats->AddStream(stream_.get()); } else { - stats->AddTrack(audio_track_); + stats->AddTrack(audio_track_.get()); } pc->AddReceiver(CreateMockReceiver(audio_track_, kSsrcOfTrack)); } @@ -843,7 +843,7 @@ class StatsCollectorTrackTest : public StatsCollectorTest, TEST_F(StatsCollectorTest, FilterOutNegativeDataChannelId) { auto pc = CreatePeerConnection(); - auto stats = CreateStatsCollector(pc); + auto stats = CreateStatsCollector(pc.get()); pc->AddSctpDataChannel("hacks"); @@ -867,7 +867,7 @@ TEST_F(StatsCollectorTest, ExtractDataInfo) { DataChannelInterface::DataState::kConnecting); auto pc = CreatePeerConnection(); - auto stats = CreateStatsCollector(pc); + auto stats = CreateStatsCollector(pc.get()); InternalDataChannelInit init; init.id = kDataChannelId; @@ -906,7 +906,7 @@ TEST_P(StatsCollectorTrackTest, BytesCounterHandles64Bits) { constexpr int64_t kBytesSent = 12345678901234LL; auto pc = CreatePeerConnection(); - auto stats = CreateStatsCollector(pc); + auto stats = CreateStatsCollector(pc.get()); VideoSenderInfo video_sender_info; video_sender_info.add_ssrc(1234); @@ -917,7 +917,7 @@ TEST_P(StatsCollectorTrackTest, BytesCounterHandles64Bits) { pc->AddVideoChannel("video", "transport", video_info); - AddOutgoingVideoTrack(pc, stats.get()); + AddOutgoingVideoTrack(pc.get(), stats.get()); stats->UpdateStats(PeerConnectionInterface::kStatsOutputLevelStandard); StatsReports reports; @@ -938,7 +938,7 @@ TEST_P(StatsCollectorTrackTest, AudioBandwidthEstimationInfoIsReported) { constexpr int kPacerDelay = 123; auto pc = CreatePeerConnection(); - auto stats = CreateStatsCollector(pc); + auto stats = CreateStatsCollector(pc.get()); VoiceSenderInfo voice_sender_info; voice_sender_info.add_ssrc(1234); @@ -950,7 +950,7 @@ TEST_P(StatsCollectorTrackTest, AudioBandwidthEstimationInfoIsReported) { auto* voice_media_channel = pc->AddVoiceChannel("audio", "transport"); voice_media_channel->SetStats(voice_info); - AddOutgoingAudioTrack(pc, stats.get()); + AddOutgoingAudioTrack(pc.get(), stats.get()); Call::Stats call_stats; call_stats.send_bandwidth_bps = kSendBandwidth; @@ -987,7 +987,7 @@ TEST_P(StatsCollectorTrackTest, VideoBandwidthEstimationInfoIsReported) { constexpr int kPacerDelay = 123; auto pc = CreatePeerConnection(); - auto stats = CreateStatsCollector(pc); + auto stats = CreateStatsCollector(pc.get()); VideoSenderInfo video_sender_info; video_sender_info.add_ssrc(1234); @@ -999,7 +999,7 @@ TEST_P(StatsCollectorTrackTest, VideoBandwidthEstimationInfoIsReported) { pc->AddVideoChannel("video", "transport", video_info); - AddOutgoingVideoTrack(pc, stats.get()); + AddOutgoingVideoTrack(pc.get(), stats.get()); Call::Stats call_stats; call_stats.send_bandwidth_bps = kSendBandwidth; @@ -1030,7 +1030,7 @@ TEST_P(StatsCollectorTrackTest, VideoBandwidthEstimationInfoIsReported) { // exists in the returned stats. TEST_F(StatsCollectorTest, SessionObjectExists) { auto pc = CreatePeerConnection(); - auto stats = CreateStatsCollector(pc); + auto stats = CreateStatsCollector(pc.get()); stats->UpdateStats(PeerConnectionInterface::kStatsOutputLevelStandard); StatsReports reports; @@ -1044,7 +1044,7 @@ TEST_F(StatsCollectorTest, SessionObjectExists) { // in the returned stats. TEST_F(StatsCollectorTest, OnlyOneSessionObjectExists) { auto pc = CreatePeerConnection(); - auto stats = CreateStatsCollector(pc); + auto stats = CreateStatsCollector(pc.get()); stats->UpdateStats(PeerConnectionInterface::kStatsOutputLevelStandard); stats->UpdateStats(PeerConnectionInterface::kStatsOutputLevelStandard); @@ -1061,10 +1061,10 @@ TEST_F(StatsCollectorTest, OnlyOneSessionObjectExists) { // without calling StatsCollector::UpdateStats. TEST_P(StatsCollectorTrackTest, TrackObjectExistsWithoutUpdateStats) { auto pc = CreatePeerConnection(); - auto stats = CreateStatsCollector(pc); + auto stats = CreateStatsCollector(pc.get()); pc->AddVideoChannel("video", "transport"); - AddOutgoingVideoTrack(pc, stats.get()); + AddOutgoingVideoTrack(pc.get(), stats.get()); // Verfies the existence of the track report. StatsReports reports; @@ -1085,7 +1085,7 @@ TEST_P(StatsCollectorTrackTest, TrackAndSsrcObjectExistAfterUpdateSsrcStats) { constexpr int64_t kBytesSent = 12345678901234LL; auto pc = CreatePeerConnection(); - auto stats = CreateStatsCollector(pc); + auto stats = CreateStatsCollector(pc.get()); VideoSenderInfo video_sender_info; video_sender_info.add_ssrc(1234); @@ -1096,7 +1096,7 @@ TEST_P(StatsCollectorTrackTest, TrackAndSsrcObjectExistAfterUpdateSsrcStats) { pc->AddVideoChannel("video", "transport", video_info); - AddOutgoingVideoTrack(pc, stats.get()); + AddOutgoingVideoTrack(pc.get(), stats.get()); stats->UpdateStats(PeerConnectionInterface::kStatsOutputLevelStandard); StatsReports reports; @@ -1111,7 +1111,7 @@ TEST_P(StatsCollectorTrackTest, TrackAndSsrcObjectExistAfterUpdateSsrcStats) { // Get report for the specific `track`. reports.clear(); - stats->GetStats(track_, &reports); + stats->GetStats(track_.get(), &reports); // `reports` should contain at least one session report, one track report, // and one ssrc report. EXPECT_LE(3u, reports.size()); @@ -1139,7 +1139,7 @@ TEST_P(StatsCollectorTrackTest, TransportObjectLinkedFromSsrcObject) { constexpr int64_t kBytesSent = 12345678901234LL; auto pc = CreatePeerConnection(); - auto stats = CreateStatsCollector(pc); + auto stats = CreateStatsCollector(pc.get()); VideoSenderInfo video_sender_info; video_sender_info.add_ssrc(1234); @@ -1150,7 +1150,7 @@ TEST_P(StatsCollectorTrackTest, TransportObjectLinkedFromSsrcObject) { pc->AddVideoChannel("video", "transport", video_info); - AddOutgoingVideoTrack(pc, stats.get()); + AddOutgoingVideoTrack(pc.get(), stats.get()); stats->UpdateStats(PeerConnectionInterface::kStatsOutputLevelStandard); StatsReports reports; @@ -1181,10 +1181,10 @@ TEST_P(StatsCollectorTrackTest, TransportObjectLinkedFromSsrcObject) { // an outgoing SSRC where remote stats are not returned. TEST_P(StatsCollectorTrackTest, RemoteSsrcInfoIsAbsent) { auto pc = CreatePeerConnection(); - auto stats = CreateStatsCollector(pc); + auto stats = CreateStatsCollector(pc.get()); pc->AddVideoChannel("video", "transport"); - AddOutgoingVideoTrack(pc, stats.get()); + AddOutgoingVideoTrack(pc.get(), stats.get()); stats->UpdateStats(PeerConnectionInterface::kStatsOutputLevelStandard); StatsReports reports; @@ -1199,7 +1199,7 @@ TEST_P(StatsCollectorTrackTest, RemoteSsrcInfoIsAbsent) { // an outgoing SSRC where stats are returned. TEST_P(StatsCollectorTrackTest, RemoteSsrcInfoIsPresent) { auto pc = CreatePeerConnection(); - auto stats = CreateStatsCollector(pc); + auto stats = CreateStatsCollector(pc.get()); SsrcReceiverInfo remote_ssrc_stats; remote_ssrc_stats.timestamp = 12345.678; @@ -1212,7 +1212,7 @@ TEST_P(StatsCollectorTrackTest, RemoteSsrcInfoIsPresent) { pc->AddVideoChannel("video", "transport", video_info); - AddOutgoingVideoTrack(pc, stats.get()); + AddOutgoingVideoTrack(pc.get(), stats.get()); stats->UpdateStats(PeerConnectionInterface::kStatsOutputLevelStandard); StatsReports reports; @@ -1230,7 +1230,7 @@ TEST_P(StatsCollectorTrackTest, ReportsFromRemoteTrack) { constexpr int64_t kNumOfPacketsConcealed = 54321; auto pc = CreatePeerConnection(); - auto stats = CreateStatsCollector(pc); + auto stats = CreateStatsCollector(pc.get()); VideoReceiverInfo video_receiver_info; video_receiver_info.add_ssrc(1234); @@ -1240,7 +1240,7 @@ TEST_P(StatsCollectorTrackTest, ReportsFromRemoteTrack) { pc->AddVideoChannel("video", "transport", video_info); - AddIncomingVideoTrack(pc, stats.get()); + AddIncomingVideoTrack(pc.get(), stats.get()); stats->UpdateStats(PeerConnectionInterface::kStatsOutputLevelStandard); StatsReports reports; @@ -1279,7 +1279,7 @@ TEST_F(StatsCollectorTest, IceCandidateReport) { const rtc::SocketAddress kRemoteAddress(kRemoteIp, kRemotePort); auto pc = CreatePeerConnection(); - auto stats = CreateStatsCollector(pc); + auto stats = CreateStatsCollector(pc.get()); cricket::Candidate local; EXPECT_GT(local.id().length(), 0u); @@ -1415,7 +1415,7 @@ TEST_F(StatsCollectorTest, ChainlessCertificateReportsCreated) { // transport is present. TEST_F(StatsCollectorTest, NoTransport) { auto pc = CreatePeerConnection(); - auto stats = CreateStatsCollector(pc); + auto stats = CreateStatsCollector(pc.get()); // This will cause the fake PeerConnection to generate a TransportStats entry // but with only a single dummy TransportChannelStats. @@ -1474,16 +1474,16 @@ TEST_P(StatsCollectorTrackTest, FilterOutNegativeInitialValues) { } auto pc = CreatePeerConnection(); - auto stats = CreateStatsCollector(pc); + auto stats = CreateStatsCollector(pc.get()); // Create a local stream with a local audio track and adds it to the stats. stream_ = MediaStream::Create("streamid"); auto local_track = rtc::make_ref_counted(kLocalTrackId); - stream_->AddTrack(local_track); + stream_->AddTrack(local_track.get()); pc->AddSender(CreateMockSender(local_track, kSsrcOfTrack)); if (GetParam()) { - stats->AddStream(stream_); + stats->AddStream(stream_.get()); } stats->AddLocalAudioTrack(local_track.get(), kSsrcOfTrack); @@ -1492,10 +1492,10 @@ TEST_P(StatsCollectorTrackTest, FilterOutNegativeInitialValues) { MediaStream::Create("remotestreamid")); auto remote_track = rtc::make_ref_counted(kRemoteTrackId); - remote_stream->AddTrack(remote_track); + remote_stream->AddTrack(remote_track.get()); pc->AddReceiver(CreateMockReceiver(remote_track, kSsrcOfTrack)); if (GetParam()) { - stats->AddStream(remote_stream); + stats->AddStream(remote_stream.get()); } VoiceSenderInfo voice_sender_info; @@ -1561,14 +1561,15 @@ TEST_P(StatsCollectorTrackTest, FilterOutNegativeInitialValues) { // AudioTrackInterface::GetStats() method. TEST_P(StatsCollectorTrackTest, GetStatsFromLocalAudioTrack) { auto pc = CreatePeerConnection(); - auto stats = CreateStatsCollector(pc); + auto stats = CreateStatsCollector(pc.get()); - AddOutgoingAudioTrack(pc, stats.get()); - stats->AddLocalAudioTrack(audio_track_, kSsrcOfTrack); + AddOutgoingAudioTrack(pc.get(), stats.get()); + stats->AddLocalAudioTrack(audio_track_.get(), kSsrcOfTrack); VoiceSenderInfo voice_sender_info; InitVoiceSenderInfo(&voice_sender_info); - UpdateVoiceSenderInfoFromAudioTrack(audio_track_, &voice_sender_info, false); + UpdateVoiceSenderInfoFromAudioTrack(audio_track_.get(), &voice_sender_info, + false); VoiceMediaInfo voice_info; voice_info.senders.push_back(voice_sender_info); @@ -1576,7 +1577,7 @@ TEST_P(StatsCollectorTrackTest, GetStatsFromLocalAudioTrack) { voice_media_channel->SetStats(voice_info); StatsReports reports; // returned values. - VerifyAudioTrackStats(audio_track_, stats.get(), voice_info, &reports); + VerifyAudioTrackStats(audio_track_.get(), stats.get(), voice_info, &reports); // Verify that there is no remote report for the local audio track because // we did not set it up. @@ -1589,9 +1590,9 @@ TEST_P(StatsCollectorTrackTest, GetStatsFromLocalAudioTrack) { // correctly. TEST_P(StatsCollectorTrackTest, GetStatsFromRemoteStream) { auto pc = CreatePeerConnection(); - auto stats = CreateStatsCollector(pc); + auto stats = CreateStatsCollector(pc.get()); - AddIncomingAudioTrack(pc, stats.get()); + AddIncomingAudioTrack(pc.get(), stats.get()); VoiceReceiverInfo voice_receiver_info; InitVoiceReceiverInfo(&voice_receiver_info); @@ -1603,16 +1604,16 @@ TEST_P(StatsCollectorTrackTest, GetStatsFromRemoteStream) { voice_media_channel->SetStats(voice_info); StatsReports reports; // returned values. - VerifyAudioTrackStats(audio_track_, stats.get(), voice_info, &reports); + VerifyAudioTrackStats(audio_track_.get(), stats.get(), voice_info, &reports); } // This test verifies that a local stats object won't update its statistics // after a RemoveLocalAudioTrack() call. TEST_P(StatsCollectorTrackTest, GetStatsAfterRemoveAudioStream) { auto pc = CreatePeerConnection(); - auto stats = CreateStatsCollector(pc); + auto stats = CreateStatsCollector(pc.get()); - AddOutgoingAudioTrack(pc, stats.get()); + AddOutgoingAudioTrack(pc.get(), stats.get()); stats->AddLocalAudioTrack(audio_track_.get(), kSsrcOfTrack); VoiceSenderInfo voice_sender_info; @@ -1651,10 +1652,10 @@ TEST_P(StatsCollectorTrackTest, GetStatsAfterRemoveAudioStream) { // the same ssrc, they populate stats reports correctly. TEST_P(StatsCollectorTrackTest, LocalAndRemoteTracksWithSameSsrc) { auto pc = CreatePeerConnection(); - auto stats = CreateStatsCollector(pc); + auto stats = CreateStatsCollector(pc.get()); // Create a local stream with a local audio track and adds it to the stats. - AddOutgoingAudioTrack(pc, stats.get()); + AddOutgoingAudioTrack(pc.get(), stats.get()); stats->AddLocalAudioTrack(audio_track_.get(), kSsrcOfTrack); // Create a remote stream with a remote audio track and adds it to the stats. @@ -1662,8 +1663,8 @@ TEST_P(StatsCollectorTrackTest, LocalAndRemoteTracksWithSameSsrc) { MediaStream::Create("remotestreamid")); auto remote_track = rtc::make_ref_counted(kRemoteTrackId); pc->AddReceiver(CreateMockReceiver(remote_track, kSsrcOfTrack)); - remote_stream->AddTrack(remote_track); - stats->AddStream(remote_stream); + remote_stream->AddTrack(remote_track.get()); + stats->AddStream(remote_stream.get()); VoiceSenderInfo voice_sender_info; InitVoiceSenderInfo(&voice_sender_info); @@ -1723,15 +1724,16 @@ TEST_P(StatsCollectorTrackTest, TwoLocalTracksWithSameSsrc) { } auto pc = CreatePeerConnection(); - auto stats = CreateStatsCollector(pc); + auto stats = CreateStatsCollector(pc.get()); // Create a local stream with a local audio track and adds it to the stats. - auto sender = AddOutgoingAudioTrack(pc, stats.get()); - stats->AddLocalAudioTrack(audio_track_, kSsrcOfTrack); + auto sender = AddOutgoingAudioTrack(pc.get(), stats.get()); + stats->AddLocalAudioTrack(audio_track_.get(), kSsrcOfTrack); VoiceSenderInfo voice_sender_info; InitVoiceSenderInfo(&voice_sender_info); - UpdateVoiceSenderInfoFromAudioTrack(audio_track_, &voice_sender_info, false); + UpdateVoiceSenderInfoFromAudioTrack(audio_track_.get(), &voice_sender_info, + false); voice_sender_info.add_ssrc(kSsrcOfTrack); VoiceMediaInfo voice_info; voice_info.senders.push_back(voice_sender_info); @@ -1740,7 +1742,7 @@ TEST_P(StatsCollectorTrackTest, TwoLocalTracksWithSameSsrc) { voice_media_channel->SetStats(voice_info); StatsReports reports; // returned values. - VerifyAudioTrackStats(audio_track_, stats.get(), voice_info, &reports); + VerifyAudioTrackStats(audio_track_.get(), stats.get(), voice_info, &reports); // Remove the previous audio track from the stream. stream_->RemoveTrack(audio_track_.get()); @@ -1751,21 +1753,22 @@ TEST_P(StatsCollectorTrackTest, TwoLocalTracksWithSameSsrc) { static const std::string kNewTrackId = "new_track_id"; auto new_audio_track = rtc::make_ref_counted(kNewTrackId); pc->AddSender(CreateMockSender(new_audio_track, kSsrcOfTrack)); - stream_->AddTrack(new_audio_track); + stream_->AddTrack(new_audio_track.get()); - stats->AddLocalAudioTrack(new_audio_track, kSsrcOfTrack); + stats->AddLocalAudioTrack(new_audio_track.get(), kSsrcOfTrack); stats->InvalidateCache(); VoiceSenderInfo new_voice_sender_info; InitVoiceSenderInfo(&new_voice_sender_info); - UpdateVoiceSenderInfoFromAudioTrack(new_audio_track, &new_voice_sender_info, - false); + UpdateVoiceSenderInfoFromAudioTrack(new_audio_track.get(), + &new_voice_sender_info, false); VoiceMediaInfo new_voice_info; new_voice_info.senders.push_back(new_voice_sender_info); voice_media_channel->SetStats(new_voice_info); reports.clear(); - VerifyAudioTrackStats(new_audio_track, stats.get(), new_voice_info, &reports); + VerifyAudioTrackStats(new_audio_track.get(), stats.get(), new_voice_info, + &reports); } // Test that if there are two local senders with the same track then two SSRC @@ -1776,7 +1779,7 @@ TEST_P(StatsCollectorTrackTest, TwoLocalSendersWithSameTrack) { constexpr uint32_t kSecondSsrc = 33; auto pc = CreatePeerConnection(); - auto stats = CreateStatsCollector(pc); + auto stats = CreateStatsCollector(pc.get()); auto local_track = rtc::make_ref_counted(kLocalTrackId); @@ -1836,9 +1839,9 @@ TEST_P(StatsCollectorTrackTest, TwoLocalSendersWithSameTrack) { // This test verifies that stats are correctly set in video send ssrc stats. TEST_P(StatsCollectorTrackTest, VerifyVideoSendSsrcStats) { auto pc = CreatePeerConnection(); - auto stats = CreateStatsCollector(pc); + auto stats = CreateStatsCollector(pc.get()); - AddOutgoingVideoTrack(pc, stats.get()); + AddOutgoingVideoTrack(pc.get(), stats.get()); VideoSenderInfo video_sender_info; video_sender_info.add_ssrc(1234); @@ -1863,9 +1866,9 @@ TEST_P(StatsCollectorTrackTest, VerifyVideoSendSsrcStats) { // This test verifies that stats are correctly set in video receive ssrc stats. TEST_P(StatsCollectorTrackTest, VerifyVideoReceiveSsrcStatsNew) { auto pc = CreatePeerConnection(); - auto stats = CreateStatsCollector(pc); + auto stats = CreateStatsCollector(pc.get()); - AddIncomingVideoTrack(pc, stats.get()); + AddIncomingVideoTrack(pc.get(), stats.get()); VideoReceiverInfo video_receiver_info; video_receiver_info.add_ssrc(1234); diff --git a/pc/stream_collection.h b/pc/stream_collection.h index ed85947bf5..f0f3f07b4b 100644 --- a/pc/stream_collection.h +++ b/pc/stream_collection.h @@ -34,14 +34,14 @@ class StreamCollection : public StreamCollectionInterface { virtual size_t count() { return media_streams_.size(); } virtual MediaStreamInterface* at(size_t index) { - return media_streams_.at(index); + return media_streams_.at(index).get(); } virtual MediaStreamInterface* find(const std::string& id) { for (StreamVector::iterator it = media_streams_.begin(); it != media_streams_.end(); ++it) { if ((*it)->id().compare(id) == 0) { - return (*it); + return (*it).get(); } } return NULL; @@ -49,7 +49,8 @@ class StreamCollection : public StreamCollectionInterface { virtual MediaStreamTrackInterface* FindAudioTrack(const std::string& id) { for (size_t i = 0; i < media_streams_.size(); ++i) { - MediaStreamTrackInterface* track = media_streams_[i]->FindAudioTrack(id); + MediaStreamTrackInterface* track = + media_streams_[i]->FindAudioTrack(id).get(); if (track) { return track; } @@ -59,7 +60,8 @@ class StreamCollection : public StreamCollectionInterface { virtual MediaStreamTrackInterface* FindVideoTrack(const std::string& id) { for (size_t i = 0; i < media_streams_.size(); ++i) { - MediaStreamTrackInterface* track = media_streams_[i]->FindVideoTrack(id); + MediaStreamTrackInterface* track = + media_streams_[i]->FindVideoTrack(id).get(); if (track) { return track; } diff --git a/pc/test/fake_peer_connection_for_stats.h b/pc/test/fake_peer_connection_for_stats.h index 7f8559d4de..132174ed82 100644 --- a/pc/test/fake_peer_connection_for_stats.h +++ b/pc/test/fake_peer_connection_for_stats.h @@ -180,7 +180,7 @@ class FakePeerConnectionForStats : public FakePeerConnectionBase { void RemoveSender(rtc::scoped_refptr sender) { GetOrCreateFirstTransceiverOfType(sender->media_type()) ->internal() - ->RemoveSender(sender); + ->RemoveSender(sender.get()); } rtc::scoped_refptr AddReceiver( @@ -198,7 +198,7 @@ class FakePeerConnectionForStats : public FakePeerConnectionBase { void RemoveReceiver(rtc::scoped_refptr receiver) { GetOrCreateFirstTransceiverOfType(receiver->media_type()) ->internal() - ->RemoveReceiver(receiver); + ->RemoveReceiver(receiver.get()); } FakeVoiceMediaChannelForStats* AddVoiceChannel( diff --git a/pc/test/integration_test_helpers.h b/pc/test/integration_test_helpers.h index c35c357095..d8713196d0 100644 --- a/pc/test/integration_test_helpers.h +++ b/pc/test/integration_test_helpers.h @@ -346,7 +346,7 @@ class PeerConnectionIntegrationWrapper : public webrtc::PeerConnectionObserver, // TODO(perkj): Test audio source when it is implemented. Currently audio // always use the default input. return peer_connection_factory_->CreateAudioTrack(rtc::CreateRandomUuid(), - source); + source.get()); } rtc::scoped_refptr CreateLocalVideoTrack() { @@ -415,7 +415,7 @@ class PeerConnectionIntegrationWrapper : public webrtc::PeerConnectionObserver, data_channels_.push_back(data_channel_or_error.MoveValue()); ASSERT_TRUE(data_channels_.back().get() != nullptr); data_observers_.push_back( - std::make_unique(data_channels_.back())); + std::make_unique(data_channels_.back().get())); } // Return the last observed data channel. @@ -423,7 +423,7 @@ class PeerConnectionIntegrationWrapper : public webrtc::PeerConnectionObserver, if (data_channels_.size() == 0) { return nullptr; } - return data_channels_.back(); + return data_channels_.back().get(); } // Return all data channels. const std::vector>& data_channels() { @@ -466,7 +466,8 @@ class PeerConnectionIntegrationWrapper : public webrtc::PeerConnectionObserver, webrtc::MediaStreamTrackInterface* track) { auto observer = rtc::make_ref_counted(); EXPECT_TRUE(peer_connection_->GetStats( - observer, nullptr, PeerConnectionInterface::kStatsOutputLevelStandard)); + observer.get(), nullptr, + PeerConnectionInterface::kStatsOutputLevelStandard)); EXPECT_TRUE_WAIT(observer->called(), kDefaultTimeout); return observer; } @@ -481,7 +482,7 @@ class PeerConnectionIntegrationWrapper : public webrtc::PeerConnectionObserver, rtc::scoped_refptr NewGetStats() { auto callback = rtc::make_ref_counted(); - peer_connection_->GetStats(callback); + peer_connection_->GetStats(callback.get()); EXPECT_TRUE_WAIT(callback->called(), kDefaultTimeout); return callback->report(); } @@ -542,7 +543,7 @@ class PeerConnectionIntegrationWrapper : public webrtc::PeerConnectionObserver, ADD_FAILURE(); return nullptr; } - return pc()->remote_streams(); + return pc()->remote_streams().get(); } StreamCollectionInterface* local_streams() { @@ -550,7 +551,7 @@ class PeerConnectionIntegrationWrapper : public webrtc::PeerConnectionObserver, ADD_FAILURE(); return nullptr; } - return pc()->local_streams(); + return pc()->local_streams().get(); } webrtc::PeerConnectionInterface::SignalingState signaling_state() { @@ -619,8 +620,8 @@ class PeerConnectionIntegrationWrapper : public webrtc::PeerConnectionObserver, std::unique_ptr CreateOfferAndWait() { auto observer = rtc::make_ref_counted(); - pc()->CreateOffer(observer, offer_answer_options_); - return WaitForDescriptionFromObserver(observer); + pc()->CreateOffer(observer.get(), offer_answer_options_); + return WaitForDescriptionFromObserver(observer.get()); } bool Rollback() { return SetRemoteDescription( @@ -856,9 +857,10 @@ class PeerConnectionIntegrationWrapper : public webrtc::PeerConnectionObserver, config, false /* remote */)); rtc::scoped_refptr track( peer_connection_factory_->CreateVideoTrack( - rtc::CreateRandomUuid(), video_track_sources_.back())); + rtc::CreateRandomUuid(), video_track_sources_.back().get())); if (!local_video_renderer_) { - local_video_renderer_.reset(new webrtc::FakeVideoTrackRenderer(track)); + local_video_renderer_.reset( + new webrtc::FakeVideoTrackRenderer(track.get())); } return track; } @@ -900,8 +902,8 @@ class PeerConnectionIntegrationWrapper : public webrtc::PeerConnectionObserver, std::unique_ptr CreateAnswer() { auto observer = rtc::make_ref_counted(); - pc()->CreateAnswer(observer, offer_answer_options_); - return WaitForDescriptionFromObserver(observer); + pc()->CreateAnswer(observer.get(), offer_answer_options_); + return WaitForDescriptionFromObserver(observer.get()); } std::unique_ptr WaitForDescriptionFromObserver( @@ -930,7 +932,7 @@ class PeerConnectionIntegrationWrapper : public webrtc::PeerConnectionObserver, std::string sdp; EXPECT_TRUE(desc->ToString(&sdp)); RTC_LOG(LS_INFO) << debug_name_ << ": local SDP contents=\n" << sdp; - pc()->SetLocalDescription(observer, desc.release()); + pc()->SetLocalDescription(observer.get(), desc.release()); RemoveUnusedVideoRenderers(); // As mentioned above, we need to send the message immediately after // SetLocalDescription. @@ -942,7 +944,7 @@ class PeerConnectionIntegrationWrapper : public webrtc::PeerConnectionObserver, bool SetRemoteDescription(std::unique_ptr desc) { auto observer = rtc::make_ref_counted(); RTC_LOG(LS_INFO) << debug_name_ << ": SetRemoteDescription"; - pc()->SetRemoteDescription(observer, desc.release()); + pc()->SetRemoteDescription(observer.get(), desc.release()); RemoveUnusedVideoRenderers(); EXPECT_TRUE_WAIT(observer->called(), kDefaultTimeout); return observer->result(); @@ -1056,7 +1058,7 @@ class PeerConnectionIntegrationWrapper : public webrtc::PeerConnectionObserver, ASSERT_TRUE(fake_video_renderers_.find(video_track->id()) == fake_video_renderers_.end()); fake_video_renderers_[video_track->id()] = - std::make_unique(video_track); + std::make_unique(video_track.get()); } } void OnRemoveTrack( @@ -1139,7 +1141,7 @@ class PeerConnectionIntegrationWrapper : public webrtc::PeerConnectionObserver, RTC_LOG(LS_INFO) << debug_name_ << ": OnDataChannel"; data_channels_.push_back(data_channel); data_observers_.push_back( - std::make_unique(data_channel)); + std::make_unique(data_channel.get())); } std::string debug_name_; diff --git a/pc/test/mock_peer_connection_observers.h b/pc/test/mock_peer_connection_observers.h index 51e24b7b30..e9d97a97f6 100644 --- a/pc/test/mock_peer_connection_observers.h +++ b/pc/test/mock_peer_connection_observers.h @@ -74,7 +74,9 @@ class MockPeerConnectionObserver : public PeerConnectionObserver { MediaStreamInterface* RemoteStream(const std::string& label) { return remote_streams_->find(label); } - StreamCollectionInterface* remote_streams() const { return remote_streams_; } + StreamCollectionInterface* remote_streams() const { + return remote_streams_.get(); + } void OnAddStream(rtc::scoped_refptr stream) override { last_added_stream_ = stream; remote_streams_->AddStream(stream); @@ -82,7 +84,7 @@ class MockPeerConnectionObserver : public PeerConnectionObserver { void OnRemoveStream( rtc::scoped_refptr stream) override { last_removed_stream_ = stream; - remote_streams_->RemoveStream(stream); + remote_streams_->RemoveStream(stream.get()); } void OnRenegotiationNeeded() override { renegotiation_needed_ = true; } void OnNegotiationNeededEvent(uint32_t event_id) override { diff --git a/pc/test/peer_connection_test_wrapper.cc b/pc/test/peer_connection_test_wrapper.cc index fef2cfb37a..f6891cda9e 100644 --- a/pc/test/peer_connection_test_wrapper.cc +++ b/pc/test/peer_connection_test_wrapper.cc @@ -106,7 +106,7 @@ bool PeerConnectionTestWrapper::CreatePc( RTC_DCHECK_RUN_ON(&pc_thread_checker_); fake_audio_capture_module_ = FakeAudioCaptureModule::Create(); - if (fake_audio_capture_module_ == NULL) { + if (fake_audio_capture_module_ == nullptr) { return false; } @@ -184,7 +184,7 @@ void PeerConnectionTestWrapper::OnIceCandidate( void PeerConnectionTestWrapper::OnDataChannel( rtc::scoped_refptr data_channel) { - SignalOnDataChannel(data_channel); + SignalOnDataChannel(data_channel.get()); } void PeerConnectionTestWrapper::OnSuccess(SessionDescriptionInterface* desc) { @@ -237,7 +237,7 @@ void PeerConnectionTestWrapper::SetLocalDescription(SdpType type, auto observer = rtc::make_ref_counted(); peer_connection_->SetLocalDescription( - observer, webrtc::CreateSessionDescription(type, sdp).release()); + observer.get(), webrtc::CreateSessionDescription(type, sdp).release()); } void PeerConnectionTestWrapper::SetRemoteDescription(SdpType type, @@ -248,7 +248,7 @@ void PeerConnectionTestWrapper::SetRemoteDescription(SdpType type, auto observer = rtc::make_ref_counted(); peer_connection_->SetRemoteDescription( - observer, webrtc::CreateSessionDescription(type, sdp).release()); + observer.get(), webrtc::CreateSessionDescription(type, sdp).release()); } void PeerConnectionTestWrapper::AddIceCandidate(const std::string& sdp_mid, @@ -333,8 +333,8 @@ PeerConnectionTestWrapper::GetUserMedia( peer_connection_factory_->CreateAudioSource(options); rtc::scoped_refptr audio_track( peer_connection_factory_->CreateAudioTrack(kAudioTrackLabelBase, - source)); - stream->AddTrack(audio_track); + source.get())); + stream->AddTrack(audio_track.get()); } if (video) { @@ -348,9 +348,10 @@ PeerConnectionTestWrapper::GetUserMedia( std::string videotrack_label = stream_id + kVideoTrackLabelBase; rtc::scoped_refptr video_track( - peer_connection_factory_->CreateVideoTrack(videotrack_label, source)); + peer_connection_factory_->CreateVideoTrack(videotrack_label, + source.get())); - stream->AddTrack(video_track); + stream->AddTrack(video_track.get()); } return stream; } diff --git a/pc/track_media_info_map.cc b/pc/track_media_info_map.cc index 12670dda28..bf3ec0f2bc 100644 --- a/pc/track_media_info_map.cc +++ b/pc/track_media_info_map.cc @@ -52,7 +52,7 @@ void GetAudioAndVideoTrackBySsrc( RTC_DCHECK(remote_video_track_by_ssrc->empty()); for (const auto& rtp_sender : rtp_senders) { cricket::MediaType media_type = rtp_sender->media_type(); - MediaStreamTrackInterface* track = rtp_sender->track(); + MediaStreamTrackInterface* track = rtp_sender->track().get(); if (!track) { continue; } @@ -74,7 +74,7 @@ void GetAudioAndVideoTrackBySsrc( } for (const auto& rtp_receiver : rtp_receivers) { cricket::MediaType media_type = rtp_receiver->media_type(); - MediaStreamTrackInterface* track = rtp_receiver->track(); + MediaStreamTrackInterface* track = rtp_receiver->track().get(); RTC_DCHECK(track); RtpParameters params = rtp_receiver->GetParameters(); for (const RtpEncodingParameters& encoding : params.encodings) { @@ -126,10 +126,10 @@ TrackMediaInfoMap::TrackMediaInfoMap( &unsignaled_video_track); for (const auto& sender : rtp_senders) { - attachment_id_by_track_[sender->track()] = sender->AttachmentId(); + attachment_id_by_track_[sender->track().get()] = sender->AttachmentId(); } for (const auto& receiver : rtp_receivers) { - attachment_id_by_track_[receiver->track()] = receiver->AttachmentId(); + attachment_id_by_track_[receiver->track().get()] = receiver->AttachmentId(); } if (voice_media_info_) { diff --git a/pc/track_media_info_map_unittest.cc b/pc/track_media_info_map_unittest.cc index 8cf3360c6f..e9428ca130 100644 --- a/pc/track_media_info_map_unittest.cc +++ b/pc/track_media_info_map_unittest.cc @@ -205,10 +205,10 @@ class TrackMediaInfoMapTest : public ::testing::Test { } // namespace TEST_F(TrackMediaInfoMapTest, SingleSenderReceiverPerTrackWithOneSsrc) { - AddRtpSenderWithSsrcs({1}, local_audio_track_); - AddRtpReceiverWithSsrcs({2}, remote_audio_track_); - AddRtpSenderWithSsrcs({3}, local_video_track_); - AddRtpReceiverWithSsrcs({4}, remote_video_track_); + AddRtpSenderWithSsrcs({1}, local_audio_track_.get()); + AddRtpReceiverWithSsrcs({2}, remote_audio_track_.get()); + AddRtpSenderWithSsrcs({3}, local_video_track_.get()); + AddRtpReceiverWithSsrcs({4}, remote_video_track_.get()); CreateMap(); // Local audio track <-> RTP audio sender @@ -241,10 +241,10 @@ TEST_F(TrackMediaInfoMapTest, SingleSenderReceiverPerTrackWithOneSsrc) { } TEST_F(TrackMediaInfoMapTest, SingleSenderReceiverPerTrackWithMissingSsrc) { - AddRtpSenderWithSsrcs({}, local_audio_track_); - AddRtpSenderWithSsrcs({}, local_video_track_); - AddRtpReceiverWithSsrcs({}, remote_audio_track_); - AddRtpReceiverWithSsrcs({}, remote_video_track_); + AddRtpSenderWithSsrcs({}, local_audio_track_.get()); + AddRtpSenderWithSsrcs({}, local_video_track_.get()); + AddRtpReceiverWithSsrcs({}, remote_audio_track_.get()); + AddRtpReceiverWithSsrcs({}, remote_video_track_.get()); CreateMap(); EXPECT_FALSE(map_->GetVoiceSenderInfos(*local_audio_track_)); @@ -255,10 +255,10 @@ TEST_F(TrackMediaInfoMapTest, SingleSenderReceiverPerTrackWithMissingSsrc) { TEST_F(TrackMediaInfoMapTest, SingleSenderReceiverPerTrackWithAudioAndVideoUseSameSsrc) { - AddRtpSenderWithSsrcs({1}, local_audio_track_); - AddRtpReceiverWithSsrcs({2}, remote_audio_track_); - AddRtpSenderWithSsrcs({1}, local_video_track_); - AddRtpReceiverWithSsrcs({2}, remote_video_track_); + AddRtpSenderWithSsrcs({1}, local_audio_track_.get()); + AddRtpReceiverWithSsrcs({2}, remote_audio_track_.get()); + AddRtpSenderWithSsrcs({1}, local_video_track_.get()); + AddRtpReceiverWithSsrcs({2}, remote_video_track_.get()); CreateMap(); // Local audio track <-> RTP audio sender @@ -291,8 +291,8 @@ TEST_F(TrackMediaInfoMapTest, } TEST_F(TrackMediaInfoMapTest, SingleMultiSsrcSenderPerTrack) { - AddRtpSenderWithSsrcs({1, 2}, local_audio_track_); - AddRtpSenderWithSsrcs({3, 4}, local_video_track_); + AddRtpSenderWithSsrcs({1, 2}, local_audio_track_.get()); + AddRtpSenderWithSsrcs({3, 4}, local_video_track_.get()); CreateMap(); // Local audio track <-> RTP audio senders @@ -313,10 +313,10 @@ TEST_F(TrackMediaInfoMapTest, SingleMultiSsrcSenderPerTrack) { } TEST_F(TrackMediaInfoMapTest, MultipleOneSsrcSendersPerTrack) { - AddRtpSenderWithSsrcs({1}, local_audio_track_); - AddRtpSenderWithSsrcs({2}, local_audio_track_); - AddRtpSenderWithSsrcs({3}, local_video_track_); - AddRtpSenderWithSsrcs({4}, local_video_track_); + AddRtpSenderWithSsrcs({1}, local_audio_track_.get()); + AddRtpSenderWithSsrcs({2}, local_audio_track_.get()); + AddRtpSenderWithSsrcs({3}, local_video_track_.get()); + AddRtpSenderWithSsrcs({4}, local_video_track_.get()); CreateMap(); // Local audio track <-> RTP audio senders @@ -343,10 +343,10 @@ TEST_F(TrackMediaInfoMapTest, MultipleOneSsrcSendersPerTrack) { } TEST_F(TrackMediaInfoMapTest, MultipleMultiSsrcSendersPerTrack) { - AddRtpSenderWithSsrcs({1, 2}, local_audio_track_); - AddRtpSenderWithSsrcs({3, 4}, local_audio_track_); - AddRtpSenderWithSsrcs({5, 6}, local_video_track_); - AddRtpSenderWithSsrcs({7, 8}, local_video_track_); + AddRtpSenderWithSsrcs({1, 2}, local_audio_track_.get()); + AddRtpSenderWithSsrcs({3, 4}, local_audio_track_.get()); + AddRtpSenderWithSsrcs({5, 6}, local_video_track_.get()); + AddRtpSenderWithSsrcs({7, 8}, local_video_track_.get()); CreateMap(); // Local audio track <-> RTP audio senders @@ -374,10 +374,10 @@ TEST_F(TrackMediaInfoMapTest, MultipleMultiSsrcSendersPerTrack) { // SSRCs can be reused for send and receive in loopback. TEST_F(TrackMediaInfoMapTest, SingleSenderReceiverPerTrackWithSsrcNotUnique) { - AddRtpSenderWithSsrcs({1}, local_audio_track_); - AddRtpReceiverWithSsrcs({1}, remote_audio_track_); - AddRtpSenderWithSsrcs({2}, local_video_track_); - AddRtpReceiverWithSsrcs({2}, remote_video_track_); + AddRtpSenderWithSsrcs({1}, local_audio_track_.get()); + AddRtpReceiverWithSsrcs({1}, remote_audio_track_.get()); + AddRtpSenderWithSsrcs({2}, local_video_track_.get()); + AddRtpReceiverWithSsrcs({2}, remote_video_track_.get()); CreateMap(); // Local audio track <-> RTP audio senders @@ -410,10 +410,10 @@ TEST_F(TrackMediaInfoMapTest, SingleSenderReceiverPerTrackWithSsrcNotUnique) { } TEST_F(TrackMediaInfoMapTest, SsrcLookupFunction) { - AddRtpSenderWithSsrcs({1}, local_audio_track_); - AddRtpReceiverWithSsrcs({2}, remote_audio_track_); - AddRtpSenderWithSsrcs({3}, local_video_track_); - AddRtpReceiverWithSsrcs({4}, remote_video_track_); + AddRtpSenderWithSsrcs({1}, local_audio_track_.get()); + AddRtpReceiverWithSsrcs({2}, remote_audio_track_.get()); + AddRtpSenderWithSsrcs({3}, local_video_track_.get()); + AddRtpReceiverWithSsrcs({4}, remote_video_track_.get()); CreateMap(); EXPECT_TRUE(map_->GetVoiceSenderInfoBySsrc(1)); EXPECT_TRUE(map_->GetVoiceReceiverInfoBySsrc(2)); @@ -424,11 +424,12 @@ TEST_F(TrackMediaInfoMapTest, SsrcLookupFunction) { } TEST_F(TrackMediaInfoMapTest, GetAttachmentIdByTrack) { - AddRtpSenderWithSsrcs({1}, local_audio_track_); + AddRtpSenderWithSsrcs({1}, local_audio_track_.get()); CreateMap(); EXPECT_EQ(rtp_senders_[0]->AttachmentId(), - map_->GetAttachmentIdByTrack(local_audio_track_)); - EXPECT_EQ(absl::nullopt, map_->GetAttachmentIdByTrack(local_video_track_)); + map_->GetAttachmentIdByTrack(local_audio_track_.get())); + EXPECT_EQ(absl::nullopt, + map_->GetAttachmentIdByTrack(local_video_track_.get())); } // Death tests. @@ -442,18 +443,18 @@ class TrackMediaInfoMapDeathTest : public TrackMediaInfoMapTest { }; TEST_F(TrackMediaInfoMapDeathTest, MultipleOneSsrcReceiversPerTrack) { - AddRtpReceiverWithSsrcs({1}, remote_audio_track_); - AddRtpReceiverWithSsrcs({2}, remote_audio_track_); - AddRtpReceiverWithSsrcs({3}, remote_video_track_); - AddRtpReceiverWithSsrcs({4}, remote_video_track_); + AddRtpReceiverWithSsrcs({1}, remote_audio_track_.get()); + AddRtpReceiverWithSsrcs({2}, remote_audio_track_.get()); + AddRtpReceiverWithSsrcs({3}, remote_video_track_.get()); + AddRtpReceiverWithSsrcs({4}, remote_video_track_.get()); EXPECT_DEATH(CreateMap(), ""); } TEST_F(TrackMediaInfoMapDeathTest, MultipleMultiSsrcReceiversPerTrack) { - AddRtpReceiverWithSsrcs({1, 2}, remote_audio_track_); - AddRtpReceiverWithSsrcs({3, 4}, remote_audio_track_); - AddRtpReceiverWithSsrcs({5, 6}, remote_video_track_); - AddRtpReceiverWithSsrcs({7, 8}, remote_video_track_); + AddRtpReceiverWithSsrcs({1, 2}, remote_audio_track_.get()); + AddRtpReceiverWithSsrcs({3, 4}, remote_audio_track_.get()); + AddRtpReceiverWithSsrcs({5, 6}, remote_video_track_.get()); + AddRtpReceiverWithSsrcs({7, 8}, remote_video_track_.get()); EXPECT_DEATH(CreateMap(), ""); } diff --git a/pc/video_rtp_receiver.cc b/pc/video_rtp_receiver.cc index 7659d7c2f9..a119415351 100644 --- a/pc/video_rtp_receiver.cc +++ b/pc/video_rtp_receiver.cc @@ -221,7 +221,7 @@ void VideoRtpReceiver::SetStreams( } } if (removed) { - existing_stream->RemoveTrack(track_); + existing_stream->RemoveTrack(track_.get()); } } // Add remote track to any streams that are new. @@ -235,7 +235,7 @@ void VideoRtpReceiver::SetStreams( } } if (added) { - stream->AddTrack(track_); + stream->AddTrack(track_.get()); } } streams_ = streams; diff --git a/pc/webrtc_session_description_factory.cc b/pc/webrtc_session_description_factory.cc index 7ccc3bf252..21da3a7bea 100644 --- a/pc/webrtc_session_description_factory.cc +++ b/pc/webrtc_session_description_factory.cc @@ -171,7 +171,7 @@ WebRtcSessionDescriptionFactory::WebRtcSessionDescriptionFactory( // `SignalCertificateReady`. signaling_thread_->Post( RTC_FROM_HERE, this, MSG_USE_CONSTRUCTOR_CERTIFICATE, - new rtc::ScopedRefMessageData(certificate)); + new rtc::ScopedRefMessageData(certificate.get())); } else { // Generate certificate. certificate_request_state_ = CERTIFICATE_WAITING; @@ -350,7 +350,7 @@ void WebRtcSessionDescriptionFactory::InternalCreateOffer( ? sdp_info_->local_description()->description() : nullptr); if (!desc) { - PostCreateSessionDescriptionFailed(request.observer, + PostCreateSessionDescriptionFailed(request.observer.get(), "Failed to initialize the offer."); return; } @@ -377,7 +377,8 @@ void WebRtcSessionDescriptionFactory::InternalCreateOffer( } } } - PostCreateSessionDescriptionSucceeded(request.observer, std::move(offer)); + PostCreateSessionDescriptionSucceeded(request.observer.get(), + std::move(offer)); } void WebRtcSessionDescriptionFactory::InternalCreateAnswer( @@ -411,7 +412,7 @@ void WebRtcSessionDescriptionFactory::InternalCreateAnswer( ? sdp_info_->local_description()->description() : nullptr); if (!desc) { - PostCreateSessionDescriptionFailed(request.observer, + PostCreateSessionDescriptionFailed(request.observer.get(), "Failed to initialize the answer."); return; } @@ -438,7 +439,8 @@ void WebRtcSessionDescriptionFactory::InternalCreateAnswer( } } } - PostCreateSessionDescriptionSucceeded(request.observer, std::move(answer)); + PostCreateSessionDescriptionSucceeded(request.observer.get(), + std::move(answer)); } void WebRtcSessionDescriptionFactory::FailPendingRequests( @@ -448,7 +450,7 @@ void WebRtcSessionDescriptionFactory::FailPendingRequests( const CreateSessionDescriptionRequest& request = create_session_description_requests_.front(); PostCreateSessionDescriptionFailed( - request.observer, + request.observer.get(), ((request.type == CreateSessionDescriptionRequest::kOffer) ? "CreateOffer" : "CreateAnswer") +