| Index: webrtc/pc/trackmediainfomap_unittest.cc
|
| diff --git a/webrtc/pc/trackmediainfomap_unittest.cc b/webrtc/pc/trackmediainfomap_unittest.cc
|
| index 2786214d954970cfaa073b183274b239dadd19a3..07436800f85f8f8a9c34072921a0dbdb38be8872 100644
|
| --- a/webrtc/pc/trackmediainfomap_unittest.cc
|
| +++ b/webrtc/pc/trackmediainfomap_unittest.cc
|
| @@ -345,6 +345,43 @@ TEST_F(TrackMediaInfoMapTest, MultipleMultiSsrcSendersPerTrack) {
|
| local_video_track_.get());
|
| }
|
|
|
| +// SSRCs can be reused for send and receive in loopback.
|
| +TEST_F(TrackMediaInfoMapTest, SingleSenderReceiverPerTrackWithSsrcNotUnique) {
|
| + AddRtpSenderWithSsrcs({1}, local_audio_track_);
|
| + AddRtpReceiverWithSsrcs({1}, remote_audio_track_);
|
| + AddRtpSenderWithSsrcs({2}, local_video_track_);
|
| + AddRtpReceiverWithSsrcs({2}, remote_video_track_);
|
| + CreateMap();
|
| +
|
| + // Local audio track <-> RTP audio senders
|
| + ASSERT_TRUE(map_->GetVoiceSenderInfos(*local_audio_track_));
|
| + EXPECT_EQ(
|
| + *map_->GetVoiceSenderInfos(*local_audio_track_),
|
| + std::vector<cricket::VoiceSenderInfo*>({&voice_media_info_->senders[0]}));
|
| + EXPECT_EQ(map_->GetAudioTrack(voice_media_info_->senders[0]),
|
| + local_audio_track_.get());
|
| +
|
| + // Remote audio track <-> RTP audio receiver
|
| + EXPECT_EQ(map_->GetVoiceReceiverInfo(*remote_audio_track_),
|
| + &voice_media_info_->receivers[0]);
|
| + EXPECT_EQ(map_->GetAudioTrack(voice_media_info_->receivers[0]),
|
| + remote_audio_track_.get());
|
| +
|
| + // Local video track <-> RTP video senders
|
| + ASSERT_TRUE(map_->GetVideoSenderInfos(*local_video_track_));
|
| + EXPECT_EQ(
|
| + *map_->GetVideoSenderInfos(*local_video_track_),
|
| + std::vector<cricket::VideoSenderInfo*>({&video_media_info_->senders[0]}));
|
| + EXPECT_EQ(map_->GetVideoTrack(video_media_info_->senders[0]),
|
| + local_video_track_.get());
|
| +
|
| + // Remote video track <-> RTP video receiver
|
| + EXPECT_EQ(map_->GetVideoReceiverInfo(*remote_video_track_),
|
| + &video_media_info_->receivers[0]);
|
| + EXPECT_EQ(map_->GetVideoTrack(video_media_info_->receivers[0]),
|
| + remote_video_track_.get());
|
| +}
|
| +
|
| // Death tests.
|
| // Disabled on Android because death tests misbehave on Android, see
|
| // base/test/gtest_util.h.
|
| @@ -368,15 +405,6 @@ TEST_F(TrackMediaInfoMapDeathTest, MultipleMultiSsrcReceiversPerTrack) {
|
| EXPECT_DEATH(CreateMap(), "");
|
| }
|
|
|
| -TEST_F(TrackMediaInfoMapDeathTest,
|
| - SingleSenderReceiverPerTrackWithSsrcNotUnique) {
|
| - AddRtpSenderWithSsrcs({1}, local_audio_track_);
|
| - AddRtpReceiverWithSsrcs({1}, remote_audio_track_);
|
| - AddRtpSenderWithSsrcs({2}, local_video_track_);
|
| - AddRtpReceiverWithSsrcs({2}, remote_video_track_);
|
| - EXPECT_DEATH(CreateMap(), "");
|
| -}
|
| -
|
| #endif // RTC_DCHECK_IS_ON && GTEST_HAS_DEATH_TEST && !defined(WEBRTC_ANDROID)
|
|
|
| } // namespace webrtc
|
|
|