Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(449)

Side by Side Diff: webrtc/media/engine/webrtcvoiceengine_unittest.cc

Issue 2461523002: Remove usage of VoEBase::AssociateSendChannel() from WVoMC. (Closed)
Patch Set: rebase Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « webrtc/media/engine/webrtcvoiceengine.cc ('k') | webrtc/test/mock_voe_channel_proxy.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2008 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2008 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 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 const cricket::AudioCodec kCn8000Codec(13, "CN", 8000, 0, 1); 43 const cricket::AudioCodec kCn8000Codec(13, "CN", 8000, 0, 1);
44 const cricket::AudioCodec kCn16000Codec(105, "CN", 16000, 0, 1); 44 const cricket::AudioCodec kCn16000Codec(105, "CN", 16000, 0, 1);
45 const cricket::AudioCodec kTelephoneEventCodec(106, 45 const cricket::AudioCodec kTelephoneEventCodec(106,
46 "telephone-event", 46 "telephone-event",
47 8000, 47 8000,
48 0, 48 0,
49 1); 49 1);
50 const uint32_t kSsrc1 = 0x99; 50 const uint32_t kSsrc1 = 0x99;
51 const uint32_t kSsrc2 = 2; 51 const uint32_t kSsrc2 = 2;
52 const uint32_t kSsrc3 = 3; 52 const uint32_t kSsrc3 = 3;
53 const uint32_t kSsrc4 = 0x42;
53 const uint32_t kSsrcs4[] = { 1, 2, 3, 4 }; 54 const uint32_t kSsrcs4[] = { 1, 2, 3, 4 };
54 55
55 constexpr int kRtpHistoryMs = 5000; 56 constexpr int kRtpHistoryMs = 5000;
56 57
57 class FakeVoEWrapper : public cricket::VoEWrapper { 58 class FakeVoEWrapper : public cricket::VoEWrapper {
58 public: 59 public:
59 explicit FakeVoEWrapper(cricket::FakeWebRtcVoiceEngine* engine) 60 explicit FakeVoEWrapper(cricket::FakeWebRtcVoiceEngine* engine)
60 : cricket::VoEWrapper(engine, // processing 61 : cricket::VoEWrapper(engine, // processing
61 engine, // base 62 engine, // base
62 engine, // codec 63 engine, // codec
(...skipping 3169 matching lines...) Expand 10 before | Expand all | Expand 10 after
3232 call_.GetAudioReceiveStream(kAudioSsrc); 3233 call_.GetAudioReceiveStream(kAudioSsrc);
3233 EXPECT_EQ(0, s->received_packets()); 3234 EXPECT_EQ(0, s->received_packets());
3234 channel_->OnPacketReceived(&kPcmuPacket, rtc::PacketTime()); 3235 channel_->OnPacketReceived(&kPcmuPacket, rtc::PacketTime());
3235 EXPECT_EQ(1, s->received_packets()); 3236 EXPECT_EQ(1, s->received_packets());
3236 channel_->OnRtcpReceived(&kRtcpPacket, rtc::PacketTime()); 3237 channel_->OnRtcpReceived(&kRtcpPacket, rtc::PacketTime());
3237 EXPECT_EQ(2, s->received_packets()); 3238 EXPECT_EQ(2, s->received_packets());
3238 } 3239 }
3239 3240
3240 // All receive channels should be associated with the first send channel, 3241 // All receive channels should be associated with the first send channel,
3241 // since they do not send RTCP SR. 3242 // since they do not send RTCP SR.
3242 TEST_F(WebRtcVoiceEngineTestFake, AssociateFirstSendChannel) { 3243 TEST_F(WebRtcVoiceEngineTestFake, AssociateFirstSendChannel_SendCreatedFirst) {
3243 EXPECT_TRUE(SetupSendStream()); 3244 EXPECT_TRUE(SetupSendStream());
3244 SetSendParameters(send_parameters_); 3245 EXPECT_TRUE(AddRecvStream(kSsrc2));
3245 int default_channel = voe_.GetLastChannel(); 3246 EXPECT_EQ(kSsrc1, GetRecvStreamConfig(kSsrc2).rtp.local_ssrc);
3246 EXPECT_TRUE(AddRecvStream(1)); 3247 EXPECT_TRUE(channel_->AddSendStream(
3247 int recv_ch = voe_.GetLastChannel(); 3248 cricket::StreamParams::CreateLegacy(kSsrc3)));
3248 EXPECT_NE(recv_ch, default_channel); 3249 EXPECT_EQ(kSsrc1, GetRecvStreamConfig(kSsrc2).rtp.local_ssrc);
3249 EXPECT_EQ(voe_.GetAssociateSendChannel(recv_ch), default_channel); 3250 EXPECT_TRUE(AddRecvStream(kSsrc4));
3250 EXPECT_TRUE(channel_->AddSendStream(cricket::StreamParams::CreateLegacy(2))); 3251 EXPECT_EQ(kSsrc1, GetRecvStreamConfig(kSsrc4).rtp.local_ssrc);
3251 EXPECT_EQ(voe_.GetAssociateSendChannel(recv_ch), default_channel);
3252 EXPECT_TRUE(AddRecvStream(3));
3253 recv_ch = voe_.GetLastChannel();
3254 EXPECT_NE(recv_ch, default_channel);
3255 EXPECT_EQ(voe_.GetAssociateSendChannel(recv_ch), default_channel);
3256 } 3252 }
3257 3253
3258 TEST_F(WebRtcVoiceEngineTestFake, AssociateChannelResetUponDeleteChannnel) { 3254 TEST_F(WebRtcVoiceEngineTestFake, AssociateFirstSendChannel_RecvCreatedFirst) {
3259 EXPECT_TRUE(SetupSendStream()); 3255 EXPECT_TRUE(SetupRecvStream());
3260 SetSendParameters(send_parameters_); 3256 EXPECT_EQ(0xFA17FA17u, GetRecvStreamConfig(kSsrc1).rtp.local_ssrc);
3261 3257 EXPECT_TRUE(channel_->AddSendStream(
3262 EXPECT_TRUE(AddRecvStream(1)); 3258 cricket::StreamParams::CreateLegacy(kSsrc2)));
3263 int recv_ch = voe_.GetLastChannel(); 3259 EXPECT_EQ(kSsrc2, GetRecvStreamConfig(kSsrc1).rtp.local_ssrc);
3264 3260 EXPECT_TRUE(AddRecvStream(kSsrc3));
3265 EXPECT_TRUE(channel_->AddSendStream(cricket::StreamParams::CreateLegacy(2))); 3261 EXPECT_EQ(kSsrc2, GetRecvStreamConfig(kSsrc3).rtp.local_ssrc);
3266 int send_ch = voe_.GetLastChannel(); 3262 EXPECT_TRUE(channel_->AddSendStream(
3267 3263 cricket::StreamParams::CreateLegacy(kSsrc4)));
3268 // Manually associate |recv_ch| to |send_ch|. This test is to verify a 3264 EXPECT_EQ(kSsrc2, GetRecvStreamConfig(kSsrc1).rtp.local_ssrc);
3269 // deleting logic, i.e., deleting |send_ch| will reset the associate send 3265 EXPECT_EQ(kSsrc2, GetRecvStreamConfig(kSsrc3).rtp.local_ssrc);
3270 // channel of |recv_ch|.This is not a common case, sinceļ¼Œ normally, only the
3271 // default channel can be associated. However, the default is not deletable.
3272 // So we force the |recv_ch| to associate with a non-default channel.
3273 EXPECT_EQ(0, voe_.AssociateSendChannel(recv_ch, send_ch));
3274 EXPECT_EQ(voe_.GetAssociateSendChannel(recv_ch), send_ch);
3275
3276 EXPECT_TRUE(channel_->RemoveSendStream(2));
3277 EXPECT_EQ(voe_.GetAssociateSendChannel(recv_ch), -1);
3278 } 3266 }
3279 3267
3280 TEST_F(WebRtcVoiceEngineTestFake, SetRawAudioSink) { 3268 TEST_F(WebRtcVoiceEngineTestFake, SetRawAudioSink) {
3281 EXPECT_TRUE(SetupChannel()); 3269 EXPECT_TRUE(SetupChannel());
3282 std::unique_ptr<FakeAudioSink> fake_sink_1(new FakeAudioSink()); 3270 std::unique_ptr<FakeAudioSink> fake_sink_1(new FakeAudioSink());
3283 std::unique_ptr<FakeAudioSink> fake_sink_2(new FakeAudioSink()); 3271 std::unique_ptr<FakeAudioSink> fake_sink_2(new FakeAudioSink());
3284 3272
3285 // Setting the sink before a recv stream exists should do nothing. 3273 // Setting the sink before a recv stream exists should do nothing.
3286 channel_->SetRawAudioSink(kSsrc1, std::move(fake_sink_1)); 3274 channel_->SetRawAudioSink(kSsrc1, std::move(fake_sink_1));
3287 EXPECT_TRUE(AddRecvStream(kSsrc1)); 3275 EXPECT_TRUE(AddRecvStream(kSsrc1));
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after
3509 nullptr, webrtc::CreateBuiltinAudioDecoderFactory()); 3497 nullptr, webrtc::CreateBuiltinAudioDecoderFactory());
3510 webrtc::RtcEventLogNullImpl event_log; 3498 webrtc::RtcEventLogNullImpl event_log;
3511 std::unique_ptr<webrtc::Call> call( 3499 std::unique_ptr<webrtc::Call> call(
3512 webrtc::Call::Create(webrtc::Call::Config(&event_log))); 3500 webrtc::Call::Create(webrtc::Call::Config(&event_log)));
3513 cricket::WebRtcVoiceMediaChannel channel(&engine, cricket::MediaConfig(), 3501 cricket::WebRtcVoiceMediaChannel channel(&engine, cricket::MediaConfig(),
3514 cricket::AudioOptions(), call.get()); 3502 cricket::AudioOptions(), call.get());
3515 cricket::AudioRecvParameters parameters; 3503 cricket::AudioRecvParameters parameters;
3516 parameters.codecs = engine.recv_codecs(); 3504 parameters.codecs = engine.recv_codecs();
3517 EXPECT_TRUE(channel.SetRecvParameters(parameters)); 3505 EXPECT_TRUE(channel.SetRecvParameters(parameters));
3518 } 3506 }
OLDNEW
« no previous file with comments | « webrtc/media/engine/webrtcvoiceengine.cc ('k') | webrtc/test/mock_voe_channel_proxy.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698