From 4f19950660da9ae61ad9931b0d9b68ee102b7849 Mon Sep 17 00:00:00 2001 From: Harald Alvestrand Date: Mon, 17 Jan 2022 21:20:49 +0000 Subject: [PATCH] Reland "Remove some default implementations in api/rtp_transcever_interface" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 226a2e32d03df3a2cf4bf3c616ac00dcd91ed3d2. Reason for revert: Downstream fixed (will submit when true) Original change's description: > 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 > > Commit-Queue: Harald Alvestrand > > 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 > Owners-Override: Artem Titov > Commit-Queue: Artem Titov > Cr-Commit-Position: refs/heads/main@{#35713} # Not skipping CQ checks because this is a reland. Bug: webrtc:11839 Change-Id: Ie25f1a5fdb4ef8ebf200780755a69dc09dd28ccb Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/247189 Reviewed-by: Henrik Boström Reviewed-by: Artem Titov Reviewed-by: Björn Terelius Commit-Queue: Harald Alvestrand Cr-Commit-Position: refs/heads/main@{#35737} --- api/rtp_transceiver_interface.cc | 27 --------------------------- api/rtp_transceiver_interface.h | 13 ++++++------- api/test/mock_rtp_transceiver.h | 4 ++++ 3 files changed, 10 insertions(+), 34 deletions(-) diff --git a/api/rtp_transceiver_interface.cc b/api/rtp_transceiver_interface.cc index 454e450c8d..7267b286be 100644 --- a/api/rtp_transceiver_interface.cc +++ b/api/rtp_transceiver_interface.cc @@ -44,33 +44,6 @@ void RtpTransceiverInterface::StopInternal() { << "DEBUG: RtpTransceiverInterface::StopInternal called"; } -RTCError RtpTransceiverInterface::SetCodecPreferences( - rtc::ArrayView) { - RTC_DCHECK_NOTREACHED() << "Not implemented"; - return {}; -} - -std::vector RtpTransceiverInterface::codec_preferences() - const { - return {}; -} - -std::vector -RtpTransceiverInterface::HeaderExtensionsToOffer() const { - return {}; -} - -webrtc::RTCError RtpTransceiverInterface::SetOfferedRtpHeaderExtensions( - rtc::ArrayView - header_extensions_to_offer) { - return webrtc::RTCError(webrtc::RTCErrorType::UNSUPPORTED_OPERATION); -} - -std::vector -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 4799c4b153..c9d911fac1 100644 --- a/api/rtp_transceiver_interface.h +++ b/api/rtp_transceiver_interface.h @@ -97,8 +97,7 @@ class RTC_EXPORT RtpTransceiverInterface : public rtc::RefCountInterface { // 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 @@ class RTC_EXPORT RtpTransceiverInterface : public rtc::RefCountInterface { // by WebRTC for this transceiver. // https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-setcodecpreferences virtual RTCError SetCodecPreferences( - rtc::ArrayView codecs); - virtual std::vector codec_preferences() const; + rtc::ArrayView codecs) = 0; + virtual std::vector 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 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 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 - 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 db587d0768..5ea9028b77 100644 --- a/api/test/mock_rtp_transceiver.h +++ b/api/test/mock_rtp_transceiver.h @@ -70,6 +70,10 @@ class MockRtpTransceiver final HeaderExtensionsToOffer, (), (const, override)); + MOCK_METHOD(std::vector, + HeaderExtensionsNegotiated, + (), + (const, override)); MOCK_METHOD(webrtc::RTCError, SetOfferedRtpHeaderExtensions, (rtc::ArrayView