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>