Remove some default implementations in api/rtp_transcever_interface

Bug: webrtc:11839
Change-Id: I6ddc0468e75bc346e12fc3dc64236ca2ab52e708
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/244504
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35701}
diff --git a/api/rtp_transceiver_interface.cc b/api/rtp_transceiver_interface.cc
index 454e450..7267b28 100644
--- a/api/rtp_transceiver_interface.cc
+++ b/api/rtp_transceiver_interface.cc
@@ -44,33 +44,6 @@
       << "DEBUG: RtpTransceiverInterface::StopInternal called";
 }
 
-RTCError RtpTransceiverInterface::SetCodecPreferences(
-    rtc::ArrayView<RtpCodecCapability>) {
-  RTC_DCHECK_NOTREACHED() << "Not implemented";
-  return {};
-}
-
-std::vector<RtpCodecCapability> RtpTransceiverInterface::codec_preferences()
-    const {
-  return {};
-}
-
-std::vector<RtpHeaderExtensionCapability>
-RtpTransceiverInterface::HeaderExtensionsToOffer() const {
-  return {};
-}
-
-webrtc::RTCError RtpTransceiverInterface::SetOfferedRtpHeaderExtensions(
-    rtc::ArrayView<const RtpHeaderExtensionCapability>
-        header_extensions_to_offer) {
-  return webrtc::RTCError(webrtc::RTCErrorType::UNSUPPORTED_OPERATION);
-}
-
-std::vector<RtpHeaderExtensionCapability>
-RtpTransceiverInterface::HeaderExtensionsNegotiated() const {
-  return {};
-}
-
 // TODO(bugs.webrtc.org/11839) Remove default implementations when clients
 // are updated.
 void RtpTransceiverInterface::SetDirection(
diff --git a/api/rtp_transceiver_interface.h b/api/rtp_transceiver_interface.h
index 4799c4b..c9d911f 100644
--- a/api/rtp_transceiver_interface.h
+++ b/api/rtp_transceiver_interface.h
@@ -97,8 +97,7 @@
   // transceiver's stop() method has been called, but the negotiation with
   // the other end for shutting down the transceiver is not yet done.
   // https://w3c.github.io/webrtc-pc/#dfn-stopping-0
-  // TODO(hta): Remove default implementation.
-  virtual bool stopping() const;
+  virtual bool stopping() const = 0;
 
   // The direction attribute indicates the preferred direction of this
   // transceiver, which will be used in calls to CreateOffer and CreateAnswer.
@@ -147,28 +146,28 @@
   // by WebRTC for this transceiver.
   // https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-setcodecpreferences
   virtual RTCError SetCodecPreferences(
-      rtc::ArrayView<RtpCodecCapability> codecs);
-  virtual std::vector<RtpCodecCapability> codec_preferences() const;
+      rtc::ArrayView<RtpCodecCapability> codecs) = 0;
+  virtual std::vector<RtpCodecCapability> codec_preferences() const = 0;
 
   // Readonly attribute which contains the set of header extensions that was set
   // with SetOfferedRtpHeaderExtensions, or a default set if it has not been
   // called.
   // https://w3c.github.io/webrtc-extensions/#rtcrtptransceiver-interface
   virtual std::vector<RtpHeaderExtensionCapability> HeaderExtensionsToOffer()
-      const;
+      const = 0;
 
   // Readonly attribute which is either empty if negotation has not yet
   // happened, or a vector of the negotiated header extensions.
   // https://w3c.github.io/webrtc-extensions/#rtcrtptransceiver-interface
   virtual std::vector<RtpHeaderExtensionCapability> HeaderExtensionsNegotiated()
-      const;
+      const = 0;
 
   // The SetOfferedRtpHeaderExtensions method modifies the next SDP negotiation
   // so that it negotiates use of header extensions which are not kStopped.
   // https://w3c.github.io/webrtc-extensions/#rtcrtptransceiver-interface
   virtual webrtc::RTCError SetOfferedRtpHeaderExtensions(
       rtc::ArrayView<const RtpHeaderExtensionCapability>
-          header_extensions_to_offer);
+          header_extensions_to_offer) = 0;
 
  protected:
   ~RtpTransceiverInterface() override = default;
diff --git a/api/test/mock_rtp_transceiver.h b/api/test/mock_rtp_transceiver.h
index db587d0..5ea9028 100644
--- a/api/test/mock_rtp_transceiver.h
+++ b/api/test/mock_rtp_transceiver.h
@@ -70,6 +70,10 @@
               HeaderExtensionsToOffer,
               (),
               (const, override));
+  MOCK_METHOD(std::vector<RtpHeaderExtensionCapability>,
+              HeaderExtensionsNegotiated,
+              (),
+              (const, override));
   MOCK_METHOD(webrtc::RTCError,
               SetOfferedRtpHeaderExtensions,
               (rtc::ArrayView<const RtpHeaderExtensionCapability>