Revert "rtpsender interface: make pure virtual again"

This reverts commit 021512b76a872b04e803d61f46c740ed363d641b.

Reason for revert: Breaks upstream project. It relies on the default implementation. The CL will be relanded after the migration is done. We will make sure to do it shortly.

Original change's description:
> rtpsender interface: make pure virtual again
>
> after providing default implementations in Chromium tests
>
> BUG=None
>
> Change-Id: I53bf26b3a99416f4005e7df75b9b86dfbf2489cb
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/273100
> Commit-Queue: Philipp Hancke <phancke@microsoft.com>
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#37941}

Bug: None
Change-Id: I40f27c36819365fadae32032521f7e11184bee62
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/273484
Owners-Override: Andrey Logvin <landrey@google.com>
Commit-Queue: Andrey Logvin <landrey@google.com>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Andrey Logvin <landrey@google.com>
Cr-Commit-Position: refs/heads/main@{#37947}
This commit is contained in:
Andrey Logvin
2022-08-30 11:24:22 +00:00
committed by WebRTC LUCI CQ
parent 9a0a6a198e
commit fbb7ce8a93
5 changed files with 45 additions and 39 deletions

View File

@ -43,7 +43,8 @@ class RTC_EXPORT RtpSenderInterface : public rtc::RefCountInterface {
// The dtlsTransport attribute exposes the DTLS transport on which the
// media is sent. It may be null.
// https://w3c.github.io/webrtc-pc/#dom-rtcrtpsender-transport
virtual rtc::scoped_refptr<DtlsTransportInterface> dtls_transport() const = 0;
// TODO(https://bugs.webrtc.org/907849) remove default implementation
virtual rtc::scoped_refptr<DtlsTransportInterface> dtls_transport() const;
// Returns primary SSRC used by this sender for sending media.
// Returns 0 if not yet determined.
@ -66,13 +67,13 @@ class RTC_EXPORT RtpSenderInterface : public rtc::RefCountInterface {
// Sets the IDs of the media streams associated with this sender's track.
// These are signalled in the SDP so that the remote side can associate
// tracks.
virtual void SetStreams(const std::vector<std::string>& stream_ids) = 0;
virtual void SetStreams(const std::vector<std::string>& stream_ids) {}
// Returns the list of encoding parameters that will be applied when the SDP
// local description is set. These initial encoding parameters can be set by
// PeerConnection::AddTransceiver, and later updated with Get/SetParameters.
// TODO(orphis): Make it pure virtual once Chrome has updated
virtual std::vector<RtpEncodingParameters> init_send_encodings() const = 0;
virtual std::vector<RtpEncodingParameters> init_send_encodings() const;
virtual RtpParameters GetParameters() const = 0;
// Note that only a subset of the parameters can currently be changed. See
@ -88,21 +89,20 @@ class RTC_EXPORT RtpSenderInterface : public rtc::RefCountInterface {
// using the user provided encryption mechanism regardless of whether SRTP is
// enabled or not.
virtual void SetFrameEncryptor(
rtc::scoped_refptr<FrameEncryptorInterface> frame_encryptor) = 0;
rtc::scoped_refptr<FrameEncryptorInterface> frame_encryptor);
// Returns a pointer to the frame encryptor set previously by the
// user. This can be used to update the state of the object.
virtual rtc::scoped_refptr<FrameEncryptorInterface> GetFrameEncryptor()
const = 0;
virtual rtc::scoped_refptr<FrameEncryptorInterface> GetFrameEncryptor() const;
virtual void SetEncoderToPacketizerFrameTransformer(
rtc::scoped_refptr<FrameTransformerInterface> frame_transformer) = 0;
rtc::scoped_refptr<FrameTransformerInterface> frame_transformer);
// Sets a user defined encoder selector.
// Overrides selector that is (optionally) provided by VideoEncoderFactory.
virtual void SetEncoderSelector(
std::unique_ptr<VideoEncoderFactory::EncoderSelectorInterface>
encoder_selector) = 0;
encoder_selector) {}
protected:
~RtpSenderInterface() override = default;