Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (c) 2004 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2004 The WebRTC project authors. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 1124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1135 cricket::StreamParams sp = cricket::StreamParams::CreateLegacy(kVideoSsrc); | 1135 cricket::StreamParams sp = cricket::StreamParams::CreateLegacy(kVideoSsrc); |
| 1136 sp.sync_label = kSyncLabel; | 1136 sp.sync_label = kSyncLabel; |
| 1137 EXPECT_TRUE(channel_->AddRecvStream(sp)); | 1137 EXPECT_TRUE(channel_->AddRecvStream(sp)); |
| 1138 | 1138 |
| 1139 EXPECT_EQ(1, fake_call_->GetVideoReceiveStreams().size()); | 1139 EXPECT_EQ(1, fake_call_->GetVideoReceiveStreams().size()); |
| 1140 EXPECT_EQ(kSyncLabel, | 1140 EXPECT_EQ(kSyncLabel, |
| 1141 fake_call_->GetVideoReceiveStreams()[0]->GetConfig().sync_group) | 1141 fake_call_->GetVideoReceiveStreams()[0]->GetConfig().sync_group) |
| 1142 << "SyncGroup should be set based on sync_label"; | 1142 << "SyncGroup should be set based on sync_label"; |
| 1143 } | 1143 } |
| 1144 | 1144 |
| 1145 TEST_F(WebRtcVideoChannel2Test, RecvStreamWithSimAndRtx) { | 1145 TEST_F(WebRtcVideoChannel2Test, RecvStreamWithSimAndRtx) { |
|
danilchap
2016/05/02 11:16:41
May be update this test too.
pbos-webrtc
2016/05/11 22:04:27
Done.
| |
| 1146 cricket::VideoSendParameters parameters; | 1146 cricket::VideoSendParameters parameters; |
| 1147 parameters.codecs = engine_.codecs(); | 1147 parameters.codecs = engine_.codecs(); |
| 1148 EXPECT_TRUE(channel_->SetSendParameters(parameters)); | 1148 EXPECT_TRUE(channel_->SetSendParameters(parameters)); |
| 1149 EXPECT_TRUE(channel_->SetSend(true)); | 1149 EXPECT_TRUE(channel_->SetSend(true)); |
| 1150 parameters.conference_mode = true; | 1150 parameters.conference_mode = true; |
| 1151 EXPECT_TRUE(channel_->SetSendParameters(parameters)); | 1151 EXPECT_TRUE(channel_->SetSendParameters(parameters)); |
| 1152 | 1152 |
| 1153 // Send side. | 1153 // Send side. |
| 1154 const std::vector<uint32_t> ssrcs = MAKE_VECTOR(kSsrcs1); | 1154 const std::vector<uint32_t> ssrcs = MAKE_VECTOR(kSsrcs1); |
| 1155 const std::vector<uint32_t> rtx_ssrcs = MAKE_VECTOR(kRtxSsrcs1); | 1155 const std::vector<uint32_t> rtx_ssrcs = MAKE_VECTOR(kRtxSsrcs1); |
| (...skipping 1108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2264 const std::vector<uint32_t> rtx_ssrcs = MAKE_VECTOR(kRtxSsrcs1); | 2264 const std::vector<uint32_t> rtx_ssrcs = MAKE_VECTOR(kRtxSsrcs1); |
| 2265 FakeVideoSendStream* stream = AddSendStream( | 2265 FakeVideoSendStream* stream = AddSendStream( |
| 2266 cricket::CreateSimWithRtxStreamParams("cname", ssrcs, rtx_ssrcs)); | 2266 cricket::CreateSimWithRtxStreamParams("cname", ssrcs, rtx_ssrcs)); |
| 2267 webrtc::VideoSendStream::Config config = stream->GetConfig(); | 2267 webrtc::VideoSendStream::Config config = stream->GetConfig(); |
| 2268 | 2268 |
| 2269 // Make sure NACK and FEC are enabled on the correct payload types. | 2269 // Make sure NACK and FEC are enabled on the correct payload types. |
| 2270 EXPECT_EQ(1000, config.rtp.nack.rtp_history_ms); | 2270 EXPECT_EQ(1000, config.rtp.nack.rtp_history_ms); |
| 2271 EXPECT_EQ(default_ulpfec_codec_.id, config.rtp.fec.ulpfec_payload_type); | 2271 EXPECT_EQ(default_ulpfec_codec_.id, config.rtp.fec.ulpfec_payload_type); |
| 2272 EXPECT_EQ(default_red_codec_.id, config.rtp.fec.red_payload_type); | 2272 EXPECT_EQ(default_red_codec_.id, config.rtp.fec.red_payload_type); |
| 2273 | 2273 |
| 2274 EXPECT_EQ(1u, config.rtp.rtx.ssrcs.size()); | 2274 EXPECT_EQ(1u, config.rtp.rtx.ssrcs.size()); |
|
danilchap
2016/05/02 11:16:41
Is it still 1 rtx ssrc on send side?
pbos-webrtc
2016/05/11 22:04:26
Yep, a sender always sends only one payload type,
| |
| 2275 EXPECT_EQ(kRtxSsrcs1[0], config.rtp.rtx.ssrcs[0]); | 2275 EXPECT_EQ(kRtxSsrcs1[0], config.rtp.rtx.ssrcs[0]); |
| 2276 VerifySendStreamHasRtxTypes(config, default_apt_rtx_types_); | 2276 VerifySendStreamHasRtxTypes(config, default_apt_rtx_types_); |
| 2277 // TODO(juberti): Check RTCP, PLI, TMMBR. | 2277 // TODO(juberti): Check RTCP, PLI, TMMBR. |
| 2278 } | 2278 } |
| 2279 | 2279 |
| 2280 TEST_F(WebRtcVideoChannel2Test, SetSendCodecsWithoutFec) { | 2280 TEST_F(WebRtcVideoChannel2Test, SetSendCodecsWithoutFec) { |
| 2281 cricket::VideoSendParameters parameters; | 2281 cricket::VideoSendParameters parameters; |
| 2282 parameters.codecs.push_back(kVp8Codec); | 2282 parameters.codecs.push_back(kVp8Codec); |
| 2283 ASSERT_TRUE(channel_->SetSendParameters(parameters)); | 2283 ASSERT_TRUE(channel_->SetSendParameters(parameters)); |
| 2284 | 2284 |
| (...skipping 907 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3192 uint8_t data[kDataLength]; | 3192 uint8_t data[kDataLength]; |
| 3193 memset(data, 0, sizeof(data)); | 3193 memset(data, 0, sizeof(data)); |
| 3194 rtc::SetBE32(&data[8], ssrcs[0]); | 3194 rtc::SetBE32(&data[8], ssrcs[0]); |
| 3195 rtc::CopyOnWriteBuffer packet(data, kDataLength); | 3195 rtc::CopyOnWriteBuffer packet(data, kDataLength); |
| 3196 rtc::PacketTime packet_time; | 3196 rtc::PacketTime packet_time; |
| 3197 channel_->OnPacketReceived(&packet, packet_time); | 3197 channel_->OnPacketReceived(&packet, packet_time); |
| 3198 | 3198 |
| 3199 ASSERT_EQ(1u, fake_call_->GetVideoReceiveStreams().size()) | 3199 ASSERT_EQ(1u, fake_call_->GetVideoReceiveStreams().size()) |
| 3200 << "No default receive stream created."; | 3200 << "No default receive stream created."; |
| 3201 FakeVideoReceiveStream* recv_stream = fake_call_->GetVideoReceiveStreams()[0]; | 3201 FakeVideoReceiveStream* recv_stream = fake_call_->GetVideoReceiveStreams()[0]; |
| 3202 EXPECT_EQ(0u, recv_stream->GetConfig().rtp.rtx.size()) | 3202 EXPECT_EQ(0u, recv_stream->GetConfig().rtp.rtx.size()) |
|
danilchap
2016/05/02 11:16:41
may be EXPECT_TRUE(....empty()) for consistency wi
pbos-webrtc
2016/05/11 22:04:26
Done.
| |
| 3203 << "Default receive stream should not have configured RTX"; | 3203 << "Default receive stream should not have configured RTX"; |
| 3204 | 3204 |
| 3205 EXPECT_TRUE(channel_->AddRecvStream( | 3205 EXPECT_TRUE(channel_->AddRecvStream( |
| 3206 cricket::CreateSimWithRtxStreamParams("cname", ssrcs, rtx_ssrcs))); | 3206 cricket::CreateSimWithRtxStreamParams("cname", ssrcs, rtx_ssrcs))); |
| 3207 ASSERT_EQ(1u, fake_call_->GetVideoReceiveStreams().size()) | 3207 ASSERT_EQ(1u, fake_call_->GetVideoReceiveStreams().size()) |
| 3208 << "AddRecvStream should've reconfigured, not added a new receiver."; | 3208 << "AddRecvStream should've reconfigured, not added a new receiver."; |
| 3209 recv_stream = fake_call_->GetVideoReceiveStreams()[0]; | 3209 recv_stream = fake_call_->GetVideoReceiveStreams()[0]; |
| 3210 ASSERT_GE(2u, recv_stream->GetConfig().rtp.rtx.size()); | 3210 EXPECT_FALSE(recv_stream->GetConfig().rtp.rtx.empty()); |
| 3211 EXPECT_EQ(rtx_ssrcs[0], | 3211 EXPECT_EQ(recv_stream->GetConfig().decoders.size(), |
| 3212 recv_stream->GetConfig().rtp.rtx.begin()->second.ssrc); | 3212 recv_stream->GetConfig().rtp.rtx.size()) |
| 3213 << "RTX should be mapped for all decoders/payload types."; | |
| 3214 for (const auto& kv : recv_stream->GetConfig().rtp.rtx) { | |
| 3215 EXPECT_EQ(rtx_ssrcs[0], kv.second.ssrc); | |
| 3216 } | |
| 3213 } | 3217 } |
| 3214 | 3218 |
| 3215 TEST_F(WebRtcVideoChannel2Test, RejectsAddingStreamsWithMissingSsrcsForRtx) { | 3219 TEST_F(WebRtcVideoChannel2Test, RejectsAddingStreamsWithMissingSsrcsForRtx) { |
| 3216 EXPECT_TRUE(channel_->SetSendParameters(send_parameters_)); | 3220 EXPECT_TRUE(channel_->SetSendParameters(send_parameters_)); |
| 3217 | 3221 |
| 3218 const std::vector<uint32_t> ssrcs = MAKE_VECTOR(kSsrcs1); | 3222 const std::vector<uint32_t> ssrcs = MAKE_VECTOR(kSsrcs1); |
| 3219 const std::vector<uint32_t> rtx_ssrcs = MAKE_VECTOR(kRtxSsrcs1); | 3223 const std::vector<uint32_t> rtx_ssrcs = MAKE_VECTOR(kRtxSsrcs1); |
| 3220 | 3224 |
| 3221 StreamParams sp = | 3225 StreamParams sp = |
| 3222 cricket::CreateSimWithRtxStreamParams("cname", ssrcs, rtx_ssrcs); | 3226 cricket::CreateSimWithRtxStreamParams("cname", ssrcs, rtx_ssrcs); |
| (...skipping 464 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3687 } | 3691 } |
| 3688 | 3692 |
| 3689 // Test that we normalize send codec format size in simulcast. | 3693 // Test that we normalize send codec format size in simulcast. |
| 3690 TEST_F(WebRtcVideoChannel2SimulcastTest, SetSendCodecsWithOddSizeInSimulcast) { | 3694 TEST_F(WebRtcVideoChannel2SimulcastTest, SetSendCodecsWithOddSizeInSimulcast) { |
| 3691 cricket::VideoCodec codec(kVp8Codec270p); | 3695 cricket::VideoCodec codec(kVp8Codec270p); |
| 3692 codec.width += 1; | 3696 codec.width += 1; |
| 3693 codec.height += 1; | 3697 codec.height += 1; |
| 3694 VerifySimulcastSettings(codec, 2, 2); | 3698 VerifySimulcastSettings(codec, 2, 2); |
| 3695 } | 3699 } |
| 3696 } // namespace cricket | 3700 } // namespace cricket |
| OLD | NEW |