Revert "Remove some default implementations in api/rtp_transcever_interface"

This reverts commit 40941ee72d30676296f3545004e7a6e30b959612.

Reason for revert: breaks downstream project

Original change's description:
> 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}

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: webrtc:11839
Change-Id: I8a3eb0a279b28ed8b55745af97596c4a853669be
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/247186
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Owners-Override: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35713}
diff --git a/api/rtp_transceiver_interface.cc b/api/rtp_transceiver_interface.cc
index 7267b28..454e450 100644
--- a/api/rtp_transceiver_interface.cc
+++ b/api/rtp_transceiver_interface.cc
@@ -44,6 +44,33 @@
       << "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 c9d911f..4799c4b 100644
--- a/api/rtp_transceiver_interface.h
+++ b/api/rtp_transceiver_interface.h
@@ -97,7 +97,8 @@
   // 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
-  virtual bool stopping() const = 0;
+  // TODO(hta): Remove default implementation.
+  virtual bool stopping() const;
 
   // The direction attribute indicates the preferred direction of this
   // transceiver, which will be used in calls to CreateOffer and CreateAnswer.
@@ -146,28 +147,28 @@
   // by WebRTC for this transceiver.
   // https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-setcodecpreferences
   virtual RTCError SetCodecPreferences(
-      rtc::ArrayView<RtpCodecCapability> codecs) = 0;
-  virtual std::vector<RtpCodecCapability> codec_preferences() const = 0;
+      rtc::ArrayView<RtpCodecCapability> codecs);
+  virtual std::vector<RtpCodecCapability> codec_preferences() const;
 
   // 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 = 0;
+      const;
 
   // 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 = 0;
+      const;
 
   // 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) = 0;
+          header_extensions_to_offer);
 
  protected:
   ~RtpTransceiverInterface() override = default;
diff --git a/api/test/mock_rtp_transceiver.h b/api/test/mock_rtp_transceiver.h
index 5ea9028..db587d0 100644
--- a/api/test/mock_rtp_transceiver.h
+++ b/api/test/mock_rtp_transceiver.h
@@ -70,10 +70,6 @@
               HeaderExtensionsToOffer,
               (),
               (const, override));
-  MOCK_METHOD(std::vector<RtpHeaderExtensionCapability>,
-              HeaderExtensionsNegotiated,
-              (),
-              (const, override));
   MOCK_METHOD(webrtc::RTCError,
               SetOfferedRtpHeaderExtensions,
               (rtc::ArrayView<const RtpHeaderExtensionCapability>