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

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

Issue 1364643003: Remove the default send channel in WVoE. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@wvoe_default_receive_channel
Patch Set: bogus Created 5 years, 2 months 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
OLDNEW
1 /* 1 /*
2 * libjingle 2 * libjingle
3 * Copyright 2008 Google Inc. 3 * Copyright 2008 Google Inc.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met: 6 * modification, are permitted provided that the following conditions are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright notice, 8 * 1. Redistributions of source code must retain the above copyright notice,
9 * this list of conditions and the following disclaimer. 9 * this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright notice, 10 * 2. Redistributions in binary form must reproduce the above copyright notice,
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 void TearDown() override { 139 void TearDown() override {
140 delete channel_; 140 delete channel_;
141 engine_.Terminate(); 141 engine_.Terminate();
142 } 142 }
143 143
144 void TestInsertDtmf(uint32 ssrc, bool caller) { 144 void TestInsertDtmf(uint32 ssrc, bool caller) {
145 EXPECT_TRUE(engine_.Init(rtc::Thread::Current())); 145 EXPECT_TRUE(engine_.Init(rtc::Thread::Current()));
146 channel_ = engine_.CreateChannel(&call_, cricket::AudioOptions()); 146 channel_ = engine_.CreateChannel(&call_, cricket::AudioOptions());
147 EXPECT_TRUE(channel_ != nullptr); 147 EXPECT_TRUE(channel_ != nullptr);
148 if (caller) { 148 if (caller) {
149 // if this is a caller, local description will be applied and add the 149 // If this is a caller, local description will be applied and add the
150 // send stream. 150 // send stream.
151 EXPECT_TRUE(channel_->AddSendStream( 151 EXPECT_TRUE(channel_->AddSendStream(
152 cricket::StreamParams::CreateLegacy(kSsrc1))); 152 cricket::StreamParams::CreateLegacy(kSsrc1)));
153 } 153 }
154 int channel_id = voe_.GetLastChannel();
155 154
156 // Test we can only InsertDtmf when the other side supports telephone-event. 155 // Test we can only InsertDtmf when the other side supports telephone-event.
157 EXPECT_TRUE(channel_->SetSendParameters(send_parameters_)); 156 EXPECT_TRUE(channel_->SetSendParameters(send_parameters_));
158 EXPECT_TRUE(channel_->SetSend(cricket::SEND_MICROPHONE)); 157 EXPECT_TRUE(channel_->SetSend(cricket::SEND_MICROPHONE));
159 EXPECT_FALSE(channel_->CanInsertDtmf()); 158 EXPECT_FALSE(channel_->CanInsertDtmf());
160 EXPECT_FALSE(channel_->InsertDtmf(ssrc, 1, 111, cricket::DF_SEND)); 159 EXPECT_FALSE(channel_->InsertDtmf(ssrc, 1, 111, cricket::DF_SEND));
161 send_parameters_.codecs.push_back(kTelephoneEventCodec); 160 send_parameters_.codecs.push_back(kTelephoneEventCodec);
162 EXPECT_TRUE(channel_->SetSendParameters(send_parameters_)); 161 EXPECT_TRUE(channel_->SetSendParameters(send_parameters_));
163 EXPECT_TRUE(channel_->CanInsertDtmf()); 162 EXPECT_TRUE(channel_->CanInsertDtmf());
164 163
165 if (!caller) { 164 if (!caller) {
166 // There's no active send channel yet. 165 // If this is callee, there's no active send channel yet.
167 EXPECT_FALSE(channel_->InsertDtmf(ssrc, 2, 123, cricket::DF_SEND)); 166 EXPECT_FALSE(channel_->InsertDtmf(ssrc, 2, 123, cricket::DF_SEND));
168 EXPECT_TRUE(channel_->AddSendStream( 167 EXPECT_TRUE(channel_->AddSendStream(
169 cricket::StreamParams::CreateLegacy(kSsrc1))); 168 cricket::StreamParams::CreateLegacy(kSsrc1)));
170 } 169 }
171 170
172 // Check we fail if the ssrc is invalid. 171 // Check we fail if the ssrc is invalid.
173 EXPECT_FALSE(channel_->InsertDtmf(-1, 1, 111, cricket::DF_SEND)); 172 EXPECT_FALSE(channel_->InsertDtmf(-1, 1, 111, cricket::DF_SEND));
174 173
175 // Test send 174 // Test send
175 int channel_id = voe_.GetLastChannel();
176 EXPECT_FALSE(voe_.WasSendTelephoneEventCalled(channel_id, 2, 123)); 176 EXPECT_FALSE(voe_.WasSendTelephoneEventCalled(channel_id, 2, 123));
177 EXPECT_TRUE(channel_->InsertDtmf(ssrc, 2, 123, cricket::DF_SEND)); 177 EXPECT_TRUE(channel_->InsertDtmf(ssrc, 2, 123, cricket::DF_SEND));
178 EXPECT_TRUE(voe_.WasSendTelephoneEventCalled(channel_id, 2, 123)); 178 EXPECT_TRUE(voe_.WasSendTelephoneEventCalled(channel_id, 2, 123));
179 179
180 // Test play 180 // Test play
181 EXPECT_FALSE(voe_.WasPlayDtmfToneCalled(3, 134)); 181 EXPECT_FALSE(voe_.WasPlayDtmfToneCalled(3, 134));
182 EXPECT_TRUE(channel_->InsertDtmf(ssrc, 3, 134, cricket::DF_PLAY)); 182 EXPECT_TRUE(channel_->InsertDtmf(ssrc, 3, 134, cricket::DF_PLAY));
183 EXPECT_TRUE(voe_.WasPlayDtmfToneCalled(3, 134)); 183 EXPECT_TRUE(voe_.WasPlayDtmfToneCalled(3, 134));
184 184
185 // Test send and play 185 // Test send and play
(...skipping 19 matching lines...) Expand all
205 parameters.max_bandwidth_bps = max_bitrate; 205 parameters.max_bandwidth_bps = max_bitrate;
206 EXPECT_EQ(expected_result, channel_->SetSendParameters(parameters)); 206 EXPECT_EQ(expected_result, channel_->SetSendParameters(parameters));
207 207
208 int channel_num = voe_.GetLastChannel(); 208 int channel_num = voe_.GetLastChannel();
209 webrtc::CodecInst temp_codec; 209 webrtc::CodecInst temp_codec;
210 EXPECT_FALSE(voe_.GetSendCodec(channel_num, temp_codec)); 210 EXPECT_FALSE(voe_.GetSendCodec(channel_num, temp_codec));
211 EXPECT_EQ(expected_bitrate, temp_codec.rate); 211 EXPECT_EQ(expected_bitrate, temp_codec.rate);
212 } 212 }
213 213
214 void TestSetSendRtpHeaderExtensions(const std::string& ext) { 214 void TestSetSendRtpHeaderExtensions(const std::string& ext) {
215 EXPECT_TRUE(SetupEngine()); 215 EXPECT_TRUE(SetupEngineWithSendStream());
216 int channel_num = voe_.GetLastChannel(); 216 int channel_num = voe_.GetLastChannel();
217 217
218 // Ensure extensions are off by default. 218 // Ensure extensions are off by default.
219 EXPECT_EQ(-1, voe_.GetSendRtpExtensionId(channel_num, ext)); 219 EXPECT_EQ(-1, voe_.GetSendRtpExtensionId(channel_num, ext));
220 220
221 // Ensure unknown extensions won't cause an error. 221 // Ensure unknown extensions won't cause an error.
222 send_parameters_.extensions.push_back(cricket::RtpHeaderExtension( 222 send_parameters_.extensions.push_back(cricket::RtpHeaderExtension(
223 "urn:ietf:params:unknownextention", 1)); 223 "urn:ietf:params:unknownextention", 1));
224 EXPECT_TRUE(channel_->SetSendParameters(send_parameters_)); 224 EXPECT_TRUE(channel_->SetSendParameters(send_parameters_));
225 EXPECT_EQ(-1, voe_.GetSendRtpExtensionId(channel_num, ext)); 225 EXPECT_EQ(-1, voe_.GetSendRtpExtensionId(channel_num, ext));
226 226
227 // Ensure extensions stay off with an empty list of headers. 227 // Ensure extensions stay off with an empty list of headers.
228 send_parameters_.extensions.clear(); 228 send_parameters_.extensions.clear();
229 EXPECT_TRUE(channel_->SetSendParameters(send_parameters_)); 229 EXPECT_TRUE(channel_->SetSendParameters(send_parameters_));
230 EXPECT_EQ(-1, voe_.GetSendRtpExtensionId(channel_num, ext)); 230 EXPECT_EQ(-1, voe_.GetSendRtpExtensionId(channel_num, ext));
231 231
232 // Ensure extension is set properly. 232 // Ensure extension is set properly.
233 const int id = 1; 233 const int id = 1;
234 send_parameters_.extensions.push_back(cricket::RtpHeaderExtension(ext, id)); 234 send_parameters_.extensions.push_back(cricket::RtpHeaderExtension(ext, id));
235 EXPECT_TRUE(channel_->SetSendParameters(send_parameters_)); 235 EXPECT_TRUE(channel_->SetSendParameters(send_parameters_));
236 EXPECT_EQ(id, voe_.GetSendRtpExtensionId(channel_num, ext)); 236 EXPECT_EQ(id, voe_.GetSendRtpExtensionId(channel_num, ext));
237 237
238 // Ensure extension is set properly on new channel. 238 // Ensure extension is set properly on new channels.
239 // The first stream to occupy the default channel.
240 EXPECT_TRUE(channel_->AddSendStream( 239 EXPECT_TRUE(channel_->AddSendStream(
241 cricket::StreamParams::CreateLegacy(123))); 240 cricket::StreamParams::CreateLegacy(kSsrc2)));
242 EXPECT_TRUE(channel_->AddSendStream(
243 cricket::StreamParams::CreateLegacy(234)));
244 int new_channel_num = voe_.GetLastChannel(); 241 int new_channel_num = voe_.GetLastChannel();
245 EXPECT_NE(channel_num, new_channel_num); 242 EXPECT_NE(channel_num, new_channel_num);
246 EXPECT_EQ(id, voe_.GetSendRtpExtensionId(new_channel_num, ext)); 243 EXPECT_EQ(id, voe_.GetSendRtpExtensionId(new_channel_num, ext));
247 244
248 // Ensure all extensions go back off with an empty list. 245 // Ensure all extensions go back off with an empty list.
249 send_parameters_.codecs.push_back(kPcmuCodec); 246 send_parameters_.codecs.push_back(kPcmuCodec);
250 send_parameters_.extensions.clear(); 247 send_parameters_.extensions.clear();
251 EXPECT_TRUE(channel_->SetSendParameters(send_parameters_)); 248 EXPECT_TRUE(channel_->SetSendParameters(send_parameters_));
252 EXPECT_EQ(-1, voe_.GetSendRtpExtensionId(channel_num, ext)); 249 EXPECT_EQ(-1, voe_.GetSendRtpExtensionId(channel_num, ext));
253 EXPECT_EQ(-1, voe_.GetSendRtpExtensionId(new_channel_num, ext)); 250 EXPECT_EQ(-1, voe_.GetSendRtpExtensionId(new_channel_num, ext));
(...skipping 2818 matching lines...) Expand 10 before | Expand all | Expand 10 after
3072 EXPECT_EQ(1, call_.GetAudioReceiveStreams().size()); 3069 EXPECT_EQ(1, call_.GetAudioReceiveStreams().size());
3073 const cricket::FakeAudioReceiveStream* s = 3070 const cricket::FakeAudioReceiveStream* s =
3074 call_.GetAudioReceiveStream(kAudioSsrc); 3071 call_.GetAudioReceiveStream(kAudioSsrc);
3075 EXPECT_EQ(0, s->received_packets()); 3072 EXPECT_EQ(0, s->received_packets());
3076 channel_->OnPacketReceived(&kPcmuPacket, rtc::PacketTime()); 3073 channel_->OnPacketReceived(&kPcmuPacket, rtc::PacketTime());
3077 EXPECT_EQ(1, s->received_packets()); 3074 EXPECT_EQ(1, s->received_packets());
3078 channel_->OnRtcpReceived(&kRtcpPacket, rtc::PacketTime()); 3075 channel_->OnRtcpReceived(&kRtcpPacket, rtc::PacketTime());
3079 EXPECT_EQ(2, s->received_packets()); 3076 EXPECT_EQ(2, s->received_packets());
3080 } 3077 }
3081 3078
3079 // TODO(solenberg): !!!!!!
pthatcher1 2015/10/01 19:57:56 You're going to fix this, right?
the sun 2015/10/13 15:07:03 Oh yes.
3082 // All receive channels should be associated with the default send channel, 3080 // All receive channels should be associated with the default send channel,
3083 // since they do not send RTCP SR. 3081 // since they do not send RTCP SR.
3084 TEST_F(WebRtcVoiceEngineTestFake, AssociateDefaultChannelOnConference) { 3082 // TEST_F(WebRtcVoiceEngineTestFake, AssociateDefaultChannelOnConference) {
3085 EXPECT_TRUE(SetupEngineWithSendStream()); 3083 // EXPECT_TRUE(SetupEngineWithSendStream());
3086 EXPECT_TRUE(channel_->SetSendParameters(send_parameters_)); 3084 // EXPECT_TRUE(channel_->SetSendParameters(send_parameters_));
3087 cricket::WebRtcVoiceMediaChannel* media_channel = 3085 // cricket::WebRtcVoiceMediaChannel* media_channel =
3088 static_cast<cricket::WebRtcVoiceMediaChannel*>(channel_); 3086 // static_cast<cricket::WebRtcVoiceMediaChannel*>(channel_);
3089 int default_channel = media_channel->voe_channel(); 3087 // int default_channel = media_channel->voe_channel();
3090 EXPECT_TRUE(channel_->AddRecvStream(cricket::StreamParams::CreateLegacy(1))); 3088 // EXPECT_TRUE(channel_->AddRecvStream(cricket::StreamParams::CreateLegacy(1)) );
3091 int recv_ch = voe_.GetLastChannel(); 3089 // int recv_ch = voe_.GetLastChannel();
3092 EXPECT_NE(recv_ch, default_channel); 3090 // EXPECT_NE(recv_ch, default_channel);
3093 EXPECT_EQ(voe_.GetAssociateSendChannel(recv_ch), default_channel); 3091 // EXPECT_EQ(voe_.GetAssociateSendChannel(recv_ch), default_channel);
3094 EXPECT_TRUE(channel_->AddSendStream(cricket::StreamParams::CreateLegacy(2))); 3092 // EXPECT_TRUE(channel_->AddSendStream(cricket::StreamParams::CreateLegacy(2)) );
3095 EXPECT_EQ(voe_.GetAssociateSendChannel(recv_ch), default_channel); 3093 // EXPECT_EQ(voe_.GetAssociateSendChannel(recv_ch), default_channel);
3096 EXPECT_TRUE(channel_->AddRecvStream(cricket::StreamParams::CreateLegacy(3))); 3094 // EXPECT_TRUE(channel_->AddRecvStream(cricket::StreamParams::CreateLegacy(3)) );
3097 recv_ch = voe_.GetLastChannel(); 3095 // recv_ch = voe_.GetLastChannel();
3098 EXPECT_NE(recv_ch, default_channel); 3096 // EXPECT_NE(recv_ch, default_channel);
3099 EXPECT_EQ(voe_.GetAssociateSendChannel(recv_ch), default_channel); 3097 // EXPECT_EQ(voe_.GetAssociateSendChannel(recv_ch), default_channel);
3100 } 3098 // }
3101 3099
3102 TEST_F(WebRtcVoiceEngineTestFake, AssociateChannelResetUponDeleteChannnel) { 3100 TEST_F(WebRtcVoiceEngineTestFake, AssociateChannelResetUponDeleteChannnel) {
3103 EXPECT_TRUE(SetupEngineWithSendStream()); 3101 EXPECT_TRUE(SetupEngineWithSendStream());
3104 EXPECT_TRUE(channel_->SetSendParameters(send_parameters_)); 3102 EXPECT_TRUE(channel_->SetSendParameters(send_parameters_));
3105 3103
3106 EXPECT_TRUE(channel_->AddRecvStream(cricket::StreamParams::CreateLegacy(1))); 3104 EXPECT_TRUE(channel_->AddRecvStream(cricket::StreamParams::CreateLegacy(1)));
3107 int recv_ch = voe_.GetLastChannel(); 3105 int recv_ch = voe_.GetLastChannel();
3108 3106
3109 EXPECT_TRUE(channel_->AddSendStream(cricket::StreamParams::CreateLegacy(2))); 3107 EXPECT_TRUE(channel_->AddSendStream(cricket::StreamParams::CreateLegacy(2)));
3110 int send_ch = voe_.GetLastChannel(); 3108 int send_ch = voe_.GetLastChannel();
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
3261 cricket::WebRtcVoiceEngine engine; 3259 cricket::WebRtcVoiceEngine engine;
3262 EXPECT_TRUE(engine.Init(rtc::Thread::Current())); 3260 EXPECT_TRUE(engine.Init(rtc::Thread::Current()));
3263 rtc::scoped_ptr<webrtc::Call> call( 3261 rtc::scoped_ptr<webrtc::Call> call(
3264 webrtc::Call::Create(webrtc::Call::Config())); 3262 webrtc::Call::Create(webrtc::Call::Config()));
3265 cricket::WebRtcVoiceMediaChannel channel(&engine, cricket::AudioOptions(), 3263 cricket::WebRtcVoiceMediaChannel channel(&engine, cricket::AudioOptions(),
3266 call.get()); 3264 call.get());
3267 cricket::AudioRecvParameters parameters; 3265 cricket::AudioRecvParameters parameters;
3268 parameters.codecs = engine.codecs(); 3266 parameters.codecs = engine.codecs();
3269 EXPECT_TRUE(channel.SetRecvParameters(parameters)); 3267 EXPECT_TRUE(channel.SetRecvParameters(parameters));
3270 } 3268 }
OLDNEW
« talk/media/webrtc/webrtcvoiceengine.cc ('K') | « talk/media/webrtc/webrtcvoiceengine.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698