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>