Index: talk/media/webrtc/webrtcvideoengine2_unittest.cc |
diff --git a/talk/media/webrtc/webrtcvideoengine2_unittest.cc b/talk/media/webrtc/webrtcvideoengine2_unittest.cc |
index 479dd05f553be4b060620f4d645fa420d738ae2f..83910dbbbdb61d0b96bcd04e9125dd041155203d 100644 |
--- a/talk/media/webrtc/webrtcvideoengine2_unittest.cc |
+++ b/talk/media/webrtc/webrtcvideoengine2_unittest.cc |
@@ -1199,6 +1199,28 @@ TEST_F(WebRtcVideoChannel2Test, RecvAbsoluteSendTimeHeaderExtensions) { |
webrtc::RtpExtension::kAbsSendTime); |
} |
+TEST_F(WebRtcVideoChannel2Test, FiltersOverlappingExtensions) { |
+ // Enable three overlapping extensions. |
+ cricket::VideoSendParameters parameters = send_parameters_; |
+ int id = 1; |
+ parameters.extensions.push_back( |
+ cricket::RtpHeaderExtension(kRtpAbsoluteSenderTimeHeaderExtension, id++)); |
+ parameters.extensions.push_back( |
+ cricket::RtpHeaderExtension(kRtpTimestampOffsetHeaderExtension, id++)); |
+ parameters.extensions.push_back(cricket::RtpHeaderExtension( |
+ kRtpTransportSequenceNumberHeaderExtension, id)); |
+ EXPECT_TRUE(channel_->SetSendParameters(parameters)); |
+ FakeVideoSendStream* send_stream = |
+ AddSendStream(cricket::StreamParams::CreateLegacy(123)); |
+ |
+ // Verify that only one of them has been set, and that it is the one with |
+ // highest priority (transport sequence number). |
+ ASSERT_EQ(1u, send_stream->GetConfig().rtp.extensions.size()); |
+ EXPECT_EQ(id, send_stream->GetConfig().rtp.extensions[0].id); |
+ EXPECT_EQ(webrtc::RtpExtension::kTransportSequenceNumber, |
+ send_stream->GetConfig().rtp.extensions[0].name); |
+} |
pbos-webrtc
2015/10/29 15:04:01
Can you add one that picks abssendtime over toffse
stefan-webrtc
2015/10/29 15:18:18
Done.
|
+ |
class WebRtcVideoChannel2WithSendSideBweTest : public WebRtcVideoChannel2Test { |
public: |
WebRtcVideoChannel2WithSendSideBweTest() |
@@ -1230,14 +1252,11 @@ TEST_F(WebRtcVideoChannel2Test, RecvVideoRotationHeaderExtensions) { |
} |
TEST_F(WebRtcVideoChannel2Test, IdenticalSendExtensionsDoesntRecreateStream) { |
- const int kTOffsetId = 1; |
- const int kAbsSendTimeId = 2; |
- const int kVideoRotationId = 3; |
+ const int kAbsSendTimeId = 1; |
+ const int kVideoRotationId = 2; |
send_parameters_.extensions.push_back(cricket::RtpHeaderExtension( |
kRtpAbsoluteSenderTimeHeaderExtension, kAbsSendTimeId)); |
send_parameters_.extensions.push_back(cricket::RtpHeaderExtension( |
- kRtpTimestampOffsetHeaderExtension, kTOffsetId)); |
- send_parameters_.extensions.push_back(cricket::RtpHeaderExtension( |
kRtpVideoRotationHeaderExtension, kVideoRotationId)); |
EXPECT_TRUE(channel_->SetSendParameters(send_parameters_)); |
@@ -1245,7 +1264,7 @@ TEST_F(WebRtcVideoChannel2Test, IdenticalSendExtensionsDoesntRecreateStream) { |
AddSendStream(cricket::StreamParams::CreateLegacy(123)); |
EXPECT_EQ(1, fake_call_->GetNumCreatedSendStreams()); |
- ASSERT_EQ(3u, send_stream->GetConfig().rtp.extensions.size()); |
+ ASSERT_EQ(2u, send_stream->GetConfig().rtp.extensions.size()); |
// Setting the same extensions (even if in different order) shouldn't |
// reallocate the stream. |