From fbaf0bb26397aa498eb9156f06d5a6fe34dd7dd8 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 03:14:29 +0200 Subject: Merging upstream version 125.0.1. Signed-off-by: Daniel Baumann --- .../signaling/gtest/jsep_session_unittest.cpp | 47 ++++++++++++++++------ 1 file changed, 34 insertions(+), 13 deletions(-) (limited to 'media/webrtc/signaling/gtest/jsep_session_unittest.cpp') 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()); } -- cgit v1.2.3