mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-13 05:40:42 +01:00

This change adds exposure of a new transceiver method for modifying the extensions offered in the next SDP negotiation, following spec details in https://w3c.github.io/webrtc-extensions/#rtcrtptransceiver-interface. Features: - The interface allows to control the negotiated direction as per https://tools.ietf.org/html/rfc5285#page-7. - The interface allows to remove an extension from SDP negotiation by modifying the direction to RtpTransceiverDirection::kStopped. Note: support for signalling directionality of header extensions in the SDP isn't implemented yet. https://chromestatus.com/feature/5680189201711104. Intent to prototype: https://groups.google.com/a/chromium.org/g/blink-dev/c/65YdUi02yZk Tested: new unit tests in CL and manual tests with downstream project. Bug: chromium:1051821 Change-Id: I7a4c2f979a5e50e88d49598eacb76d24e81c7c7a Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/177348 Commit-Queue: Markus Handell <handellm@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/master@{#31554}
50 lines
1.4 KiB
C++
50 lines
1.4 KiB
C++
/*
|
|
* Copyright 2018 The WebRTC project authors. All Rights Reserved.
|
|
*
|
|
* Use of this source code is governed by a BSD-style license
|
|
* that can be found in the LICENSE file in the root of the source
|
|
* tree. An additional intellectual property rights grant can be found
|
|
* in the file PATENTS. All contributing project authors may
|
|
* be found in the AUTHORS file in the root of the source tree.
|
|
*/
|
|
|
|
#include "api/rtp_transceiver_interface.h"
|
|
|
|
#include "rtc_base/checks.h"
|
|
|
|
namespace webrtc {
|
|
|
|
RtpTransceiverInit::RtpTransceiverInit() = default;
|
|
|
|
RtpTransceiverInit::RtpTransceiverInit(const RtpTransceiverInit& rhs) = default;
|
|
|
|
RtpTransceiverInit::~RtpTransceiverInit() = default;
|
|
|
|
absl::optional<RtpTransceiverDirection>
|
|
RtpTransceiverInterface::fired_direction() const {
|
|
return absl::nullopt;
|
|
}
|
|
|
|
RTCError RtpTransceiverInterface::SetCodecPreferences(
|
|
rtc::ArrayView<RtpCodecCapability>) {
|
|
RTC_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);
|
|
}
|
|
|
|
} // namespace webrtc
|