@@ -5836,7 +5836,6 @@ TEST_F(WebRtcVideoChannelTest, RecvUnsignaledSsrcWithSignaledStreamId) {
5836
5836
// Reset the unsignaled stream to clear the cache. This time when
5837
5837
// a default video receive stream is created it won't have a sync_group.
5838
5838
channel_->ResetUnsignaledRecvStream ();
5839
- ASSERT_TRUE (channel_->RemoveRecvStream (kIncomingUnsignalledSsrc ));
5840
5839
EXPECT_EQ (0u , fake_call_->GetVideoReceiveStreams ().size ());
5841
5840
5842
5841
channel_->OnPacketReceived (packet, /* packet_time_us */ -1 );
@@ -5845,6 +5844,37 @@ TEST_F(WebRtcVideoChannelTest, RecvUnsignaledSsrcWithSignaledStreamId) {
5845
5844
fake_call_->GetVideoReceiveStreams ()[0 ]->GetConfig ().sync_group .empty ());
5846
5845
}
5847
5846
5847
+ TEST_F (WebRtcVideoChannelTest,
5848
+ ResetUnsignaledRecvStreamDeletesAllDefaultStreams) {
5849
+ // No receive streams to start with.
5850
+ EXPECT_TRUE (fake_call_->GetVideoReceiveStreams ().empty ());
5851
+
5852
+ // Packet with unsignaled SSRC is received.
5853
+ const size_t kDataLength = 12 ;
5854
+ uint8_t data[kDataLength ];
5855
+ memset (data, 0 , sizeof (data));
5856
+ rtc::SetBE32 (&data[8 ], kIncomingUnsignalledSsrc );
5857
+ rtc::CopyOnWriteBuffer packet (data, kDataLength );
5858
+ channel_->OnPacketReceived (packet, /* packet_time_us */ -1 );
5859
+
5860
+ // Default receive stream created.
5861
+ const auto & receivers1 = fake_call_->GetVideoReceiveStreams ();
5862
+ ASSERT_EQ (receivers1.size (), 1u );
5863
+ EXPECT_EQ (receivers1[0 ]->GetConfig ().rtp .remote_ssrc ,
5864
+ kIncomingUnsignalledSsrc );
5865
+
5866
+ // Stream with another SSRC gets signaled.
5867
+ channel_->ResetUnsignaledRecvStream ();
5868
+ constexpr uint32_t kIncomingSignalledSsrc = kIncomingUnsignalledSsrc + 1 ;
5869
+ ASSERT_TRUE (channel_->AddRecvStream (
5870
+ cricket::StreamParams::CreateLegacy (kIncomingSignalledSsrc )));
5871
+
5872
+ // New receiver is for the signaled stream.
5873
+ const auto & receivers2 = fake_call_->GetVideoReceiveStreams ();
5874
+ ASSERT_EQ (receivers2.size (), 1u );
5875
+ EXPECT_EQ (receivers2[0 ]->GetConfig ().rtp .remote_ssrc , kIncomingSignalledSsrc );
5876
+ }
5877
+
5848
5878
// Test BaseMinimumPlayoutDelayMs on receive streams.
5849
5879
TEST_F (WebRtcVideoChannelTest, BaseMinimumPlayoutDelayMs) {
5850
5880
// Test that set won't work for non-existing receive streams.
0 commit comments