Revert "RtpTransceiverInterface: introduce SetOfferedRtpHeaderExtensions."
This reverts commit 71db9acc4019b8c9c13b14e6a022cbb3b4255b09.
Reason for revert: breaks downstream project.
Reason for force push: win bot broken.
Original change's description:
> RtpTransceiverInterface: introduce SetOfferedRtpHeaderExtensions.
>
> 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
>
> Bug: chromium:1051821
> Change-Id: Iaabc34446f038c46d93c442e90c2a77f77d542d4
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176408
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Markus Handell <handellm@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31487}
TBR=hta@webrtc.org,handellm@webrtc.org
# Not skipping CQ checks because original CL landed > 1 day ago.
No-Try: true
Bug: chromium:1051821
Change-Id: I70e1a07225d7eeec7480fa5577d8ff647eba6902
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/177103
Commit-Queue: Markus Handell <handellm@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31516}
diff --git a/pc/rtp_transceiver_unittest.cc b/pc/rtp_transceiver_unittest.cc
index e3f05c4..5e34573 100644
--- a/pc/rtp_transceiver_unittest.cc
+++ b/pc/rtp_transceiver_unittest.cc
@@ -25,7 +25,6 @@
using ::testing::Eq;
using ::testing::Field;
using ::testing::Not;
-using ::testing::Property;
using ::testing::Return;
using ::testing::ReturnRef;
@@ -79,95 +78,27 @@
EXPECT_EQ(nullptr, transceiver.channel());
}
-class RtpTransceiverTestForHeaderExtensions : public ::testing::Test {
- public:
- RtpTransceiverTestForHeaderExtensions()
- : channel_manager_(std::make_unique<cricket::FakeMediaEngine>(),
- std::make_unique<cricket::FakeDataEngine>(),
- rtc::Thread::Current(),
- rtc::Thread::Current()),
- extensions_(
- {RtpHeaderExtensionCapability("uri1",
- 1,
- RtpTransceiverDirection::kSendOnly),
- RtpHeaderExtensionCapability("uri2",
- 2,
- RtpTransceiverDirection::kRecvOnly),
- RtpHeaderExtensionCapability(RtpExtension::kMidUri,
- 3,
- RtpTransceiverDirection::kSendRecv),
- RtpHeaderExtensionCapability(RtpExtension::kVideoRotationUri,
- 4,
- RtpTransceiverDirection::kSendRecv)}),
- transceiver_(RtpSenderProxyWithInternal<RtpSenderInternal>::Create(
- rtc::Thread::Current(),
- new rtc::RefCountedObject<MockRtpSenderInternal>()),
- RtpReceiverProxyWithInternal<RtpReceiverInternal>::Create(
- rtc::Thread::Current(),
- new rtc::RefCountedObject<MockRtpReceiverInternal>()),
- &channel_manager_,
- extensions_) {}
-
- cricket::ChannelManager channel_manager_;
- std::vector<RtpHeaderExtensionCapability> extensions_;
- RtpTransceiver transceiver_;
-};
-
-TEST_F(RtpTransceiverTestForHeaderExtensions, OffersChannelManagerList) {
- EXPECT_EQ(transceiver_.HeaderExtensionsToOffer(), extensions_);
-}
-
-TEST_F(RtpTransceiverTestForHeaderExtensions, ModifiesDirection) {
- auto modified_extensions = extensions_;
- modified_extensions[0].direction = RtpTransceiverDirection::kSendOnly;
- EXPECT_TRUE(
- transceiver_.SetOfferedRtpHeaderExtensions(modified_extensions).ok());
- EXPECT_EQ(transceiver_.HeaderExtensionsToOffer(), modified_extensions);
- modified_extensions[0].direction = RtpTransceiverDirection::kRecvOnly;
- EXPECT_TRUE(
- transceiver_.SetOfferedRtpHeaderExtensions(modified_extensions).ok());
- EXPECT_EQ(transceiver_.HeaderExtensionsToOffer(), modified_extensions);
- modified_extensions[0].direction = RtpTransceiverDirection::kSendRecv;
- EXPECT_TRUE(
- transceiver_.SetOfferedRtpHeaderExtensions(modified_extensions).ok());
- EXPECT_EQ(transceiver_.HeaderExtensionsToOffer(), modified_extensions);
- modified_extensions[0].direction = RtpTransceiverDirection::kInactive;
- EXPECT_TRUE(
- transceiver_.SetOfferedRtpHeaderExtensions(modified_extensions).ok());
- EXPECT_EQ(transceiver_.HeaderExtensionsToOffer(), modified_extensions);
-}
-
-TEST_F(RtpTransceiverTestForHeaderExtensions, AcceptsStoppedExtension) {
- auto modified_extensions = extensions_;
- modified_extensions[0].direction = RtpTransceiverDirection::kStopped;
- EXPECT_TRUE(
- transceiver_.SetOfferedRtpHeaderExtensions(modified_extensions).ok());
- EXPECT_EQ(transceiver_.HeaderExtensionsToOffer(), modified_extensions);
-}
-
-TEST_F(RtpTransceiverTestForHeaderExtensions, RejectsUnsupportedExtension) {
- std::vector<RtpHeaderExtensionCapability> modified_extensions(
- {RtpHeaderExtensionCapability("uri3", 1,
- RtpTransceiverDirection::kSendRecv)});
- EXPECT_THAT(transceiver_.SetOfferedRtpHeaderExtensions(modified_extensions),
- Property(&RTCError::type, RTCErrorType::INVALID_PARAMETER));
- EXPECT_EQ(transceiver_.HeaderExtensionsToOffer(), extensions_);
-}
-
-TEST_F(RtpTransceiverTestForHeaderExtensions,
- RejectsStoppedMandatoryExtensions) {
- std::vector<RtpHeaderExtensionCapability> modified_extensions = extensions_;
- // Attempting to stop the mandatory MID extension.
- modified_extensions[2].direction = RtpTransceiverDirection::kStopped;
- EXPECT_THAT(transceiver_.SetOfferedRtpHeaderExtensions(modified_extensions),
- Property(&RTCError::type, RTCErrorType::INVALID_MODIFICATION));
- EXPECT_EQ(transceiver_.HeaderExtensionsToOffer(), extensions_);
- modified_extensions = extensions_;
- // Attempting to stop the mandatory video orientation extension.
- modified_extensions[3].direction = RtpTransceiverDirection::kStopped;
- EXPECT_THAT(transceiver_.SetOfferedRtpHeaderExtensions(modified_extensions),
- Property(&RTCError::type, RTCErrorType::INVALID_MODIFICATION));
- EXPECT_EQ(transceiver_.HeaderExtensionsToOffer(), extensions_);
+TEST(RtpTransceiverTest,
+ InitsWithChannelManagerRtpHeaderExtensionCapabilities) {
+ cricket::ChannelManager channel_manager(
+ std::make_unique<cricket::FakeMediaEngine>(),
+ std::make_unique<cricket::FakeDataEngine>(), rtc::Thread::Current(),
+ rtc::Thread::Current());
+ std::vector<RtpHeaderExtensionCapability> extensions({
+ RtpHeaderExtensionCapability("uri1", 1,
+ RtpTransceiverDirection::kSendRecv),
+ RtpHeaderExtensionCapability("uri2", 2,
+ RtpTransceiverDirection::kRecvOnly),
+ });
+ RtpTransceiver transceiver(
+ RtpSenderProxyWithInternal<RtpSenderInternal>::Create(
+ rtc::Thread::Current(),
+ new rtc::RefCountedObject<MockRtpSenderInternal>()),
+ RtpReceiverProxyWithInternal<RtpReceiverInternal>::Create(
+ rtc::Thread::Current(),
+ new rtc::RefCountedObject<MockRtpReceiverInternal>()),
+ &channel_manager, extensions);
+ EXPECT_EQ(transceiver.HeaderExtensionsToOffer(), extensions);
}
} // namespace webrtc