summaryrefslogtreecommitdiffstats
path: root/media/webrtc/signaling/gtest/jsep_session_unittest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'media/webrtc/signaling/gtest/jsep_session_unittest.cpp')
-rw-r--r--media/webrtc/signaling/gtest/jsep_session_unittest.cpp47
1 files changed, 34 insertions, 13 deletions
diff --git a/media/webrtc/signaling/gtest/jsep_session_unittest.cpp b/media/webrtc/signaling/gtest/jsep_session_unittest.cpp
index 2ed2c4575a..2e4faa3af4 100644
--- a/media/webrtc/signaling/gtest/jsep_session_unittest.cpp
+++ b/media/webrtc/signaling/gtest/jsep_session_unittest.cpp
@@ -4985,10 +4985,13 @@ TEST_F(JsepSessionTest, TestRtcpFbStar) {
}
}
-TEST_F(JsepSessionTest, TestUniquePayloadTypes) {
- // The audio payload types will all appear more than once, but the video
- // payload types will be unique.
- AddTracks(*mSessionOff, "audio,audio,video");
+TEST_F(JsepSessionTest, TestUniqueReceivePayloadTypes) {
+ // The audio payload types will all appear more than once.
+ // For the offerer, only one video m-section will be receiving, so those
+ // video payload types will be unique.
+ // On the other hand, the answerer will have two video m-sections receiving,
+ // so those _won't_ be unique.
+ AddTracks(*mSessionOff, "audio,audio,video,video");
AddTracks(*mSessionAns, "audio,audio,video");
std::string offer = CreateOffer();
@@ -5000,49 +5003,67 @@ TEST_F(JsepSessionTest, TestUniquePayloadTypes) {
auto offerTransceivers = GetTransceivers(*mSessionOff);
auto answerTransceivers = GetTransceivers(*mSessionAns);
- ASSERT_EQ(3U, offerTransceivers.size());
- ASSERT_EQ(3U, answerTransceivers.size());
+ ASSERT_EQ(4U, offerTransceivers.size());
+ ASSERT_EQ(4U, answerTransceivers.size());
ASSERT_FALSE(IsNull(offerTransceivers[0].mRecvTrack));
ASSERT_TRUE(offerTransceivers[0].mRecvTrack.GetNegotiatedDetails());
ASSERT_EQ(0U, offerTransceivers[0]
.mRecvTrack.GetNegotiatedDetails()
- ->GetUniquePayloadTypes()
+ ->GetUniqueReceivePayloadTypes()
.size());
ASSERT_FALSE(IsNull(offerTransceivers[1].mRecvTrack));
ASSERT_TRUE(offerTransceivers[1].mRecvTrack.GetNegotiatedDetails());
ASSERT_EQ(0U, offerTransceivers[1]
.mRecvTrack.GetNegotiatedDetails()
- ->GetUniquePayloadTypes()
+ ->GetUniqueReceivePayloadTypes()
.size());
+ // First video transceiver is the only one receiving, so gets unique pts.
ASSERT_FALSE(IsNull(offerTransceivers[2].mRecvTrack));
ASSERT_TRUE(offerTransceivers[2].mRecvTrack.GetNegotiatedDetails());
ASSERT_NE(0U, offerTransceivers[2]
.mRecvTrack.GetNegotiatedDetails()
- ->GetUniquePayloadTypes()
+ ->GetUniqueReceivePayloadTypes()
+ .size());
+
+ // First video transceiver is not receiving, so does not get unique pts.
+ ASSERT_TRUE(IsNull(offerTransceivers[3].mRecvTrack));
+ ASSERT_TRUE(offerTransceivers[3].mRecvTrack.GetNegotiatedDetails());
+ ASSERT_EQ(0U, offerTransceivers[3]
+ .mRecvTrack.GetNegotiatedDetails()
+ ->GetUniqueReceivePayloadTypes()
.size());
ASSERT_FALSE(IsNull(answerTransceivers[0].mRecvTrack));
ASSERT_TRUE(answerTransceivers[0].mRecvTrack.GetNegotiatedDetails());
ASSERT_EQ(0U, answerTransceivers[0]
.mRecvTrack.GetNegotiatedDetails()
- ->GetUniquePayloadTypes()
+ ->GetUniqueReceivePayloadTypes()
.size());
ASSERT_FALSE(IsNull(answerTransceivers[1].mRecvTrack));
ASSERT_TRUE(answerTransceivers[1].mRecvTrack.GetNegotiatedDetails());
ASSERT_EQ(0U, answerTransceivers[1]
.mRecvTrack.GetNegotiatedDetails()
- ->GetUniquePayloadTypes()
+ ->GetUniqueReceivePayloadTypes()
.size());
+ // Answerer is receiving two video streams with the same payload types.
+ // Neither recv track should have unique pts.
ASSERT_FALSE(IsNull(answerTransceivers[2].mRecvTrack));
ASSERT_TRUE(answerTransceivers[2].mRecvTrack.GetNegotiatedDetails());
- ASSERT_NE(0U, answerTransceivers[2]
+ ASSERT_EQ(0U, answerTransceivers[2]
+ .mRecvTrack.GetNegotiatedDetails()
+ ->GetUniqueReceivePayloadTypes()
+ .size());
+
+ ASSERT_FALSE(IsNull(answerTransceivers[3].mRecvTrack));
+ ASSERT_TRUE(answerTransceivers[3].mRecvTrack.GetNegotiatedDetails());
+ ASSERT_EQ(0U, answerTransceivers[3]
.mRecvTrack.GetNegotiatedDetails()
- ->GetUniquePayloadTypes()
+ ->GetUniqueReceivePayloadTypes()
.size());
}