Remove deprecated RemoveTrack interface

Bug: webrtc:9534
Change-Id: I970e6fd43284d9159897d5214fff9992cd26e171
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/247371
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35856}
diff --git a/api/peer_connection_interface.h b/api/peer_connection_interface.h
index 70adf51..be18b7f 100644
--- a/api/peer_connection_interface.h
+++ b/api/peer_connection_interface.h
@@ -826,22 +826,6 @@
     return RTCError();
   }
 
-  // Legacy API for removing a track from the PeerConnection.
-  // Returns true on success.
-  // TODO(bugs.webrtc.org/9534): Replace with signature that returns RTCError.
-  ABSL_DEPRECATED("Use RemoveTrackOrError")
-  virtual bool RemoveTrack(RtpSenderInterface* sender) {
-    return RemoveTrackOrError(rtc::scoped_refptr<RtpSenderInterface>(sender))
-        .ok();
-  }
-
-  // Old name for the new API. Will be removed when clients are updated.
-  ABSL_DEPRECATED("Use RemoveTrackOrError")
-  virtual RTCError RemoveTrackNew(
-      rtc::scoped_refptr<RtpSenderInterface> sender) {
-    return RemoveTrackOrError(sender);
-  }
-
   // AddTransceiver creates a new RtpTransceiver and adds it to the set of
   // transceivers. Adding a transceiver will cause future calls to CreateOffer
   // to add a media description for the corresponding transceiver.
diff --git a/api/test/dummy_peer_connection.h b/api/test/dummy_peer_connection.h
index a477d56..4a26256 100644
--- a/api/test/dummy_peer_connection.h
+++ b/api/test/dummy_peer_connection.h
@@ -45,8 +45,6 @@
     return RTCError(RTCErrorType::UNSUPPORTED_OPERATION, "Not implemented");
   }
 
-  bool RemoveTrack(RtpSenderInterface* sender) override { return false; }
-
   RTCError RemoveTrackOrError(
       rtc::scoped_refptr<RtpSenderInterface> sender) override {
     return RTCError(RTCErrorType::UNSUPPORTED_OPERATION, "Not implemented");
diff --git a/api/test/mock_peerconnectioninterface.h b/api/test/mock_peerconnectioninterface.h
index dac9944..effd24e 100644
--- a/api/test/mock_peerconnectioninterface.h
+++ b/api/test/mock_peerconnectioninterface.h
@@ -48,7 +48,6 @@
               (rtc::scoped_refptr<MediaStreamTrackInterface>,
                const std::vector<std::string>&),
               (override));
-  MOCK_METHOD(bool, RemoveTrack, (RtpSenderInterface*), (override));
   MOCK_METHOD(RTCError,
               RemoveTrackOrError,
               (rtc::scoped_refptr<RtpSenderInterface>),
diff --git a/pc/peer_connection_integrationtest.cc b/pc/peer_connection_integrationtest.cc
index fc09416..0c97d0d 100644
--- a/pc/peer_connection_integrationtest.cc
+++ b/pc/peer_connection_integrationtest.cc
@@ -473,7 +473,7 @@
   ASSERT_TRUE_WAIT(SignalingStateStable(), kDefaultTimeout);
 
   // Remove receive video (i.e., callee sender track).
-  callee()->pc()->RemoveTrack(callee_sender);
+  callee()->pc()->RemoveTrackOrError(callee_sender);
 
   caller()->CreateAndSetAndSignalOffer();
   ASSERT_TRUE_WAIT(SignalingStateStable(), kDefaultTimeout);
@@ -505,7 +505,7 @@
   ASSERT_TRUE_WAIT(SignalingStateStable(), kDefaultTimeout);
 
   // Remove send video (i.e., caller sender track).
-  caller()->pc()->RemoveTrack(caller_sender);
+  caller()->pc()->RemoveTrackOrError(caller_sender);
 
   caller()->CreateAndSetAndSignalOffer();
   ASSERT_TRUE_WAIT(SignalingStateStable(), kDefaultTimeout);
@@ -963,7 +963,7 @@
 
   // Remove audio track, and set offer_to_receive_audio to false to cause the
   // m= section to be completely disabled, not just "recvonly".
-  caller()->pc()->RemoveTrack(sender);
+  caller()->pc()->RemoveTrackOrError(sender);
   PeerConnectionInterface::RTCOfferAnswerOptions options;
   options.offer_to_receive_audio = 0;
   caller()->SetOfferAnswerOptions(options);
@@ -2956,7 +2956,7 @@
     ASSERT_TRUE(ExpectNewFrames(media_expectations));
   }
   // Remove the sender, and create a new one with the new stream.
-  caller()->pc()->RemoveTrack(sender);
+  caller()->pc()->RemoveTrackOrError(sender);
   sender = caller()->AddTrack(track, {"stream_2"});
   caller()->CreateAndSetAndSignalOffer();
   ASSERT_TRUE_WAIT(SignalingStateStable(), kDefaultTimeout);
diff --git a/pc/peer_connection_interface_unittest.cc b/pc/peer_connection_interface_unittest.cc
index 44f135f..0d9f419 100644
--- a/pc/peer_connection_interface_unittest.cc
+++ b/pc/peer_connection_interface_unittest.cc
@@ -1561,8 +1561,8 @@
   EXPECT_TRUE(DoSetLocalDescription(std::move(offer)));
 
   // Now try removing the tracks.
-  EXPECT_TRUE(pc_->RemoveTrack(audio_sender));
-  EXPECT_TRUE(pc_->RemoveTrack(video_sender));
+  EXPECT_TRUE(pc_->RemoveTrackOrError(audio_sender).ok());
+  EXPECT_TRUE(pc_->RemoveTrackOrError(video_sender).ok());
 
   // Create a new offer and ensure it doesn't contain the removed senders.
   ASSERT_TRUE(DoCreateOffer(&offer, nullptr));
@@ -1579,8 +1579,8 @@
 
   // Calling RemoveTrack on a sender no longer attached to a PeerConnection
   // should return false.
-  EXPECT_FALSE(pc_->RemoveTrack(audio_sender));
-  EXPECT_FALSE(pc_->RemoveTrack(video_sender));
+  EXPECT_FALSE(pc_->RemoveTrackOrError(audio_sender).ok());
+  EXPECT_FALSE(pc_->RemoveTrackOrError(video_sender).ok());
 }
 
 // Test creating senders without a stream specified,
@@ -1867,7 +1867,7 @@
 
   // Remove the stream. Since we are sending to our selves the local
   // and the remote stream is the same.
-  pc_->RemoveTrack(pc_->GetSenders()[0]);
+  pc_->RemoveTrackOrError(pc_->GetSenders()[0]);
   // Do a re-negotiation.
   CreateOfferReceiveAnswer();
 
diff --git a/pc/peer_connection_media_unittest.cc b/pc/peer_connection_media_unittest.cc
index c5a4a30..30034b4 100644
--- a/pc/peer_connection_media_unittest.cc
+++ b/pc/peer_connection_media_unittest.cc
@@ -312,8 +312,8 @@
   ASSERT_TRUE(caller->ExchangeOfferAnswerWith(callee.get()));
 
   // Remove both tracks from caller.
-  caller->pc()->RemoveTrack(caller_audio_track);
-  caller->pc()->RemoveTrack(caller_video_track);
+  caller->pc()->RemoveTrackOrError(caller_audio_track);
+  caller->pc()->RemoveTrackOrError(caller_video_track);
 
   ASSERT_TRUE(caller->ExchangeOfferAnswerWith(callee.get()));
 
@@ -410,8 +410,8 @@
   ASSERT_TRUE(caller->ExchangeOfferAnswerWith(callee.get()));
 
   // Remove both tracks from callee.
-  callee->pc()->RemoveTrack(callee_audio_track);
-  callee->pc()->RemoveTrack(callee_video_track);
+  callee->pc()->RemoveTrackOrError(callee_audio_track);
+  callee->pc()->RemoveTrackOrError(callee_video_track);
 
   ASSERT_TRUE(caller->ExchangeOfferAnswerWith(callee.get()));
 
@@ -1083,7 +1083,7 @@
   EXPECT_EQ(1u, callee_video->send_streams().size());
 
   // Callee removes video but keeps audio and rejects the video once again.
-  callee->pc()->RemoveTrack(callee_video_track);
+  callee->pc()->RemoveTrackOrError(callee_video_track);
   ASSERT_TRUE(callee->SetRemoteDescription(caller->CreateOfferAndSetAsLocal()));
   ASSERT_TRUE(
       callee->SetLocalDescription(callee->CreateAnswer(options_reject_video)));
@@ -1153,7 +1153,7 @@
   EXPECT_EQ(1u, callee_video->send_streams().size());
 
   // Callee removes audio but keeps video and rejects the audio once again.
-  callee->pc()->RemoveTrack(callee_audio_track);
+  callee->pc()->RemoveTrackOrError(callee_audio_track);
   ASSERT_TRUE(callee->SetRemoteDescription(caller->CreateOfferAndSetAsLocal()));
   ASSERT_TRUE(
       callee->SetLocalDescription(callee->CreateAnswer(options_reject_audio)));
diff --git a/pc/peer_connection_rtp_unittest.cc b/pc/peer_connection_rtp_unittest.cc
index e46df318..fac738b 100644
--- a/pc/peer_connection_rtp_unittest.cc
+++ b/pc/peer_connection_rtp_unittest.cc
@@ -237,7 +237,7 @@
   ASSERT_TRUE(
       caller->SetRemoteDescription(callee->CreateAnswerAndSetAsLocal()));
 
-  EXPECT_TRUE(caller->pc()->RemoveTrack(sender));
+  EXPECT_TRUE(caller->pc()->RemoveTrackOrError(sender).ok());
   ASSERT_TRUE(callee->SetRemoteDescription(caller->CreateOfferAndSetAsLocal()));
 
   ASSERT_EQ(callee->observer()->add_track_events_.size(), 1u);
@@ -255,7 +255,7 @@
   ASSERT_TRUE(
       caller->SetRemoteDescription(callee->CreateAnswerAndSetAsLocal()));
 
-  EXPECT_TRUE(caller->pc()->RemoveTrack(sender));
+  EXPECT_TRUE(caller->pc()->RemoveTrackOrError(sender).ok());
   ASSERT_TRUE(callee->SetRemoteDescription(caller->CreateOfferAndSetAsLocal()));
 
   ASSERT_EQ(callee->observer()->add_track_events_.size(), 1u);
@@ -277,7 +277,7 @@
       caller->SetRemoteDescription(callee->CreateAnswerAndSetAsLocal()));
 
   // Remove "audio_track1".
-  EXPECT_TRUE(caller->pc()->RemoveTrack(sender1));
+  EXPECT_TRUE(caller->pc()->RemoveTrackOrError(sender1).ok());
   ASSERT_TRUE(callee->SetRemoteDescription(caller->CreateOfferAndSetAsLocal()));
   ASSERT_EQ(callee->observer()->add_track_events_.size(), 2u);
   EXPECT_EQ(
@@ -289,7 +289,7 @@
       caller->SetRemoteDescription(callee->CreateAnswerAndSetAsLocal()));
 
   // Remove "audio_track2".
-  EXPECT_TRUE(caller->pc()->RemoveTrack(sender2));
+  EXPECT_TRUE(caller->pc()->RemoveTrackOrError(sender2).ok());
   ASSERT_TRUE(callee->SetRemoteDescription(caller->CreateOfferAndSetAsLocal()));
   ASSERT_EQ(callee->observer()->add_track_events_.size(), 2u);
   EXPECT_EQ(callee->observer()->GetAddTrackReceivers(),
@@ -480,7 +480,7 @@
   ASSERT_EQ(1u, callee->observer()->add_track_events_.size());
   EXPECT_EQ(0u, callee->observer()->remove_track_events_.size());
 
-  caller->pc()->RemoveTrack(sender);
+  caller->pc()->RemoveTrackOrError(sender);
 
   ASSERT_TRUE(callee->SetRemoteDescription(caller->CreateOfferAndSetAsLocal()));
   EXPECT_EQ(1u, callee->observer()->add_track_events_.size());
@@ -580,7 +580,7 @@
 
   ASSERT_EQ(callee->pc()->GetReceivers().size(), 1u);
   auto receiver = callee->pc()->GetReceivers()[0];
-  ASSERT_TRUE(caller->pc()->RemoveTrack(sender));
+  ASSERT_TRUE(caller->pc()->RemoveTrackOrError(sender).ok());
   ASSERT_TRUE(caller->ExchangeOfferAnswerWith(callee.get()));
 
   if (sdp_semantics_ == SdpSemantics::kUnifiedPlan) {
@@ -604,7 +604,7 @@
   ASSERT_TRUE(caller->ExchangeOfferAnswerWith(callee.get()));
   ASSERT_EQ(callee->pc()->GetReceivers().size(), 1u);
   auto receiver = callee->pc()->GetReceivers()[0];
-  ASSERT_TRUE(caller->pc()->RemoveTrack(sender));
+  ASSERT_TRUE(caller->pc()->RemoveTrackOrError(sender).ok());
   ASSERT_TRUE(caller->ExchangeOfferAnswerWith(callee.get()));
 
   if (sdp_semantics_ == SdpSemantics::kUnifiedPlan) {
@@ -630,7 +630,7 @@
   ASSERT_EQ(2u, callee->pc()->GetReceivers().size());
 
   // Remove "audio_track1".
-  EXPECT_TRUE(caller->pc()->RemoveTrack(sender1));
+  EXPECT_TRUE(caller->pc()->RemoveTrackOrError(sender1).ok());
   ASSERT_TRUE(caller->ExchangeOfferAnswerWith(callee.get()));
 
   if (sdp_semantics_ == SdpSemantics::kUnifiedPlan) {
@@ -648,7 +648,7 @@
   }
 
   // Remove "audio_track2".
-  EXPECT_TRUE(caller->pc()->RemoveTrack(sender2));
+  EXPECT_TRUE(caller->pc()->RemoveTrackOrError(sender2).ok());
   ASSERT_TRUE(caller->ExchangeOfferAnswerWith(callee.get()));
 
   if (sdp_semantics_ == SdpSemantics::kUnifiedPlan) {
@@ -706,7 +706,7 @@
   // first and second SetRemoteDescription() calls.
   auto sender = caller->AddAudioTrack("audio_track", {});
   auto srd1_sdp = caller->CreateOfferAndSetAsLocal();
-  EXPECT_TRUE(caller->pc()->RemoveTrack(sender));
+  EXPECT_TRUE(caller->pc()->RemoveTrackOrError(sender).ok());
   auto srd2_sdp = caller->CreateOfferAndSetAsLocal();
 
   // In the first SetRemoteDescription() callback, check that we have a
@@ -1304,7 +1304,7 @@
   auto caller = CreatePeerConnection();
 
   auto sender = caller->AddAudioTrack("a");
-  ASSERT_TRUE(caller->pc()->RemoveTrack(sender));
+  ASSERT_TRUE(caller->pc()->RemoveTrackOrError(sender).ok());
 
   EXPECT_FALSE(sender->track());
 }
@@ -1327,7 +1327,7 @@
   caller->observer()->clear_legacy_renegotiation_needed();
   caller->observer()->clear_latest_negotiation_needed_event();
 
-  ASSERT_TRUE(caller->pc()->RemoveTrack(transceiver->sender()));
+  ASSERT_TRUE(caller->pc()->RemoveTrackOrError(transceiver->sender()).ok());
   EXPECT_TRUE(caller->observer()->legacy_renegotiation_needed());
   EXPECT_TRUE(caller->observer()->has_negotiation_needed_event());
 
@@ -1352,7 +1352,7 @@
   caller->observer()->clear_legacy_renegotiation_needed();
   caller->observer()->clear_latest_negotiation_needed_event();
 
-  ASSERT_TRUE(caller->pc()->RemoveTrack(transceiver->sender()));
+  ASSERT_TRUE(caller->pc()->RemoveTrackOrError(transceiver->sender()).ok());
   EXPECT_TRUE(caller->observer()->legacy_renegotiation_needed());
   EXPECT_TRUE(caller->observer()->has_negotiation_needed_event());
 
@@ -1370,7 +1370,7 @@
 
   caller->observer()->clear_legacy_renegotiation_needed();
   caller->observer()->clear_latest_negotiation_needed_event();
-  ASSERT_TRUE(caller->pc()->RemoveTrack(sender));
+  ASSERT_TRUE(caller->pc()->RemoveTrackOrError(sender).ok());
   EXPECT_FALSE(caller->observer()->legacy_renegotiation_needed());
   EXPECT_FALSE(caller->observer()->has_negotiation_needed_event());
 
@@ -1387,7 +1387,7 @@
 
   caller->observer()->clear_legacy_renegotiation_needed();
   caller->observer()->clear_latest_negotiation_needed_event();
-  EXPECT_FALSE(caller->pc()->RemoveTrack(sender));
+  EXPECT_FALSE(caller->pc()->RemoveTrackOrError(sender).ok());
   EXPECT_FALSE(caller->observer()->legacy_renegotiation_needed());
   EXPECT_FALSE(caller->observer()->has_negotiation_needed_event());
 }
@@ -1397,11 +1397,11 @@
   auto caller = CreatePeerConnection();
 
   auto sender = caller->AddAudioTrack("a");
-  ASSERT_TRUE(caller->pc()->RemoveTrack(sender));
+  ASSERT_TRUE(caller->pc()->RemoveTrackOrError(sender).ok());
 
   caller->observer()->clear_legacy_renegotiation_needed();
   caller->observer()->clear_latest_negotiation_needed_event();
-  EXPECT_TRUE(caller->pc()->RemoveTrack(sender));
+  EXPECT_TRUE(caller->pc()->RemoveTrackOrError(sender).ok());
   EXPECT_FALSE(caller->observer()->legacy_renegotiation_needed());
   EXPECT_FALSE(caller->observer()->has_negotiation_needed_event());
 }
@@ -1415,7 +1415,7 @@
   auto sender1 = caller->AddAudioTrack("audio1");
   ASSERT_TRUE(caller->SetLocalDescription(caller->CreateOffer()));
 
-  caller->pc()->RemoveTrack(sender1);
+  caller->pc()->RemoveTrackOrError(sender1);
   ASSERT_TRUE(caller->SetLocalDescription(caller->CreateOffer()));
 
   // This will re-use the transceiver created by the first AddTrack.
@@ -1431,7 +1431,7 @@
   auto sender1 = caller->AddVideoTrack("video1");
   ASSERT_TRUE(caller->SetLocalDescription(caller->CreateOffer()));
 
-  caller->pc()->RemoveTrack(sender1);
+  caller->pc()->RemoveTrackOrError(sender1);
   ASSERT_TRUE(caller->SetLocalDescription(caller->CreateOffer()));
 
   // This will re-use the transceiver created by the first AddTrack.
@@ -1488,7 +1488,7 @@
   auto sender1 = caller->AddTrack(track);
   ASSERT_TRUE(caller->ExchangeOfferAnswerWith(callee.get()));
 
-  caller->pc()->RemoveTrack(sender1);
+  caller->pc()->RemoveTrackOrError(sender1);
   ASSERT_TRUE(caller->ExchangeOfferAnswerWith(callee.get()));
 
   auto sender2 = caller->AddTrack(track);
@@ -1656,11 +1656,11 @@
   caller->AddTransceiver(video_track);
   auto transceiver = caller->AddTransceiver(track);
   ASSERT_TRUE(caller->ExchangeOfferAnswerWith(callee.get()));
-  caller->pc()->RemoveTrack(transceiver->sender());
+  caller->pc()->RemoveTrackOrError(transceiver->sender());
   ASSERT_TRUE(caller->ExchangeOfferAnswerWith(callee.get()));
   caller->AddTrack(track);
   ASSERT_TRUE(caller->ExchangeOfferAnswerWith(callee.get()));
-  caller->pc()->RemoveTrack(transceiver->sender());
+  caller->pc()->RemoveTrackOrError(transceiver->sender());
   ASSERT_TRUE(caller->ExchangeOfferAnswerWith(callee.get()));
 }
 
@@ -1674,12 +1674,12 @@
   caller->AddTransceiver(video_track);
   auto transceiver = caller->AddTransceiver(track);
   ASSERT_TRUE(caller->ExchangeOfferAnswerWith(callee.get()));
-  caller->pc()->RemoveTrack(transceiver->sender());
+  caller->pc()->RemoveTrackOrError(transceiver->sender());
   ExchangeOfferAnswerWhereRemoteStopsTransceiver(caller.get(), callee.get(), 1);
   ASSERT_TRUE(caller->ExchangeOfferAnswerWith(callee.get()));
   caller->AddTrack(track);
   ASSERT_TRUE(caller->ExchangeOfferAnswerWith(callee.get()));
-  caller->pc()->RemoveTrack(transceiver->sender());
+  caller->pc()->RemoveTrackOrError(transceiver->sender());
   ASSERT_TRUE(caller->ExchangeOfferAnswerWith(callee.get()));
 }
 
diff --git a/pc/test/fake_peer_connection_base.h b/pc/test/fake_peer_connection_base.h
index cca8419..3462c8c 100644
--- a/pc/test/fake_peer_connection_base.h
+++ b/pc/test/fake_peer_connection_base.h
@@ -50,8 +50,6 @@
     return RTCError(RTCErrorType::UNSUPPORTED_OPERATION, "Not implemented");
   }
 
-  bool RemoveTrack(RtpSenderInterface* sender) override { return false; }
-
   RTCError RemoveTrackOrError(
       rtc::scoped_refptr<RtpSenderInterface> sender) override {
     return RTCError(RTCErrorType::UNSUPPORTED_OPERATION);