OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2008 The WebRTC project authors. All Rights Reserved. | 2 * Copyright 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 |
11 #include "webrtc/api/fakemediacontroller.h" | 11 #include "webrtc/api/fakemediacontroller.h" |
12 #include "webrtc/base/gunit.h" | 12 #include "webrtc/base/gunit.h" |
13 #include "webrtc/base/logging.h" | 13 #include "webrtc/base/logging.h" |
14 #include "webrtc/base/thread.h" | 14 #include "webrtc/base/thread.h" |
15 #include "webrtc/logging/rtc_event_log/rtc_event_log.h" | 15 #include "webrtc/logging/rtc_event_log/rtc_event_log.h" |
16 #include "webrtc/media/base/fakemediaengine.h" | 16 #include "webrtc/media/base/fakemediaengine.h" |
17 #include "webrtc/media/base/fakevideocapturer.h" | 17 #include "webrtc/media/base/fakevideocapturer.h" |
18 #include "webrtc/media/base/testutils.h" | 18 #include "webrtc/media/base/testutils.h" |
19 #include "webrtc/media/engine/fakewebrtccall.h" | 19 #include "webrtc/media/engine/fakewebrtccall.h" |
20 #include "webrtc/p2p/base/faketransportcontroller.h" | 20 #include "webrtc/p2p/base/faketransportcontroller.h" |
21 #include "webrtc/pc/channelmanager.h" | 21 #include "webrtc/pc/channelmanager.h" |
22 | 22 |
23 namespace cricket { | 23 namespace cricket { |
24 | 24 |
25 static const AudioCodec kAudioCodecs[] = { | 25 static const AudioCodec kAudioCodecs[] = { |
26 AudioCodec(97, "voice", 1, 2, 3), AudioCodec(111, "OPUS", 48000, 32000, 2), | 26 AudioCodec(97, "voice", 1, 2, 3), AudioCodec(111, "OPUS", 48000, 32000, 2), |
27 }; | 27 }; |
28 | 28 |
29 static const VideoCodec kVideoCodecs[] = { | 29 static const VideoCodec kVideoCodecs[] = { |
30 VideoCodec(99, "H264", 100, 200, 300), | 30 VideoCodec(99, "H264"), VideoCodec(100, "VP8"), VideoCodec(96, "rtx"), |
31 VideoCodec(100, "VP8", 100, 200, 300), VideoCodec(96, "rtx", 100, 200, 300), | |
32 }; | 31 }; |
33 | 32 |
34 class ChannelManagerTest : public testing::Test { | 33 class ChannelManagerTest : public testing::Test { |
35 protected: | 34 protected: |
36 ChannelManagerTest() | 35 ChannelManagerTest() |
37 : fme_(new cricket::FakeMediaEngine()), | 36 : fme_(new cricket::FakeMediaEngine()), |
38 fdme_(new cricket::FakeDataEngine()), | 37 fdme_(new cricket::FakeDataEngine()), |
39 cm_(new cricket::ChannelManager(fme_, fdme_, rtc::Thread::Current())), | 38 cm_(new cricket::ChannelManager(fme_, fdme_, rtc::Thread::Current())), |
40 fake_call_(webrtc::Call::Config(&event_log_)), | 39 fake_call_(webrtc::Call::Config(&event_log_)), |
41 fake_mc_(cm_, &fake_call_), | 40 fake_mc_(cm_, &fake_call_), |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
164 EXPECT_TRUE(video_channel == nullptr); | 163 EXPECT_TRUE(video_channel == nullptr); |
165 cricket::DataChannel* data_channel = | 164 cricket::DataChannel* data_channel = |
166 cm_->CreateDataChannel(transport_controller_, cricket::CN_DATA, nullptr, | 165 cm_->CreateDataChannel(transport_controller_, cricket::CN_DATA, nullptr, |
167 false, cricket::DCT_RTP); | 166 false, cricket::DCT_RTP); |
168 EXPECT_TRUE(data_channel == nullptr); | 167 EXPECT_TRUE(data_channel == nullptr); |
169 cm_->Terminate(); | 168 cm_->Terminate(); |
170 } | 169 } |
171 | 170 |
172 TEST_F(ChannelManagerTest, SetVideoRtxEnabled) { | 171 TEST_F(ChannelManagerTest, SetVideoRtxEnabled) { |
173 std::vector<VideoCodec> codecs; | 172 std::vector<VideoCodec> codecs; |
174 const VideoCodec rtx_codec(96, "rtx", 0, 0, 0); | 173 const VideoCodec rtx_codec(96, "rtx"); |
175 | 174 |
176 // By default RTX is disabled. | 175 // By default RTX is disabled. |
177 cm_->GetSupportedVideoCodecs(&codecs); | 176 cm_->GetSupportedVideoCodecs(&codecs); |
178 EXPECT_FALSE(ContainsMatchingCodec(codecs, rtx_codec)); | 177 EXPECT_FALSE(ContainsMatchingCodec(codecs, rtx_codec)); |
179 | 178 |
180 // Enable and check. | 179 // Enable and check. |
181 EXPECT_TRUE(cm_->SetVideoRtxEnabled(true)); | 180 EXPECT_TRUE(cm_->SetVideoRtxEnabled(true)); |
182 cm_->GetSupportedVideoCodecs(&codecs); | 181 cm_->GetSupportedVideoCodecs(&codecs); |
183 EXPECT_TRUE(ContainsMatchingCodec(codecs, rtx_codec)); | 182 EXPECT_TRUE(ContainsMatchingCodec(codecs, rtx_codec)); |
184 | 183 |
185 // Disable and check. | 184 // Disable and check. |
186 EXPECT_TRUE(cm_->SetVideoRtxEnabled(false)); | 185 EXPECT_TRUE(cm_->SetVideoRtxEnabled(false)); |
187 cm_->GetSupportedVideoCodecs(&codecs); | 186 cm_->GetSupportedVideoCodecs(&codecs); |
188 EXPECT_FALSE(ContainsMatchingCodec(codecs, rtx_codec)); | 187 EXPECT_FALSE(ContainsMatchingCodec(codecs, rtx_codec)); |
189 | 188 |
190 // Cannot toggle rtx after initialization. | 189 // Cannot toggle rtx after initialization. |
191 EXPECT_TRUE(cm_->Init()); | 190 EXPECT_TRUE(cm_->Init()); |
192 EXPECT_FALSE(cm_->SetVideoRtxEnabled(true)); | 191 EXPECT_FALSE(cm_->SetVideoRtxEnabled(true)); |
193 EXPECT_FALSE(cm_->SetVideoRtxEnabled(false)); | 192 EXPECT_FALSE(cm_->SetVideoRtxEnabled(false)); |
194 | 193 |
195 // Can set again after terminate. | 194 // Can set again after terminate. |
196 cm_->Terminate(); | 195 cm_->Terminate(); |
197 EXPECT_TRUE(cm_->SetVideoRtxEnabled(true)); | 196 EXPECT_TRUE(cm_->SetVideoRtxEnabled(true)); |
198 cm_->GetSupportedVideoCodecs(&codecs); | 197 cm_->GetSupportedVideoCodecs(&codecs); |
199 EXPECT_TRUE(ContainsMatchingCodec(codecs, rtx_codec)); | 198 EXPECT_TRUE(ContainsMatchingCodec(codecs, rtx_codec)); |
200 } | 199 } |
201 | 200 |
202 } // namespace cricket | 201 } // namespace cricket |
OLD | NEW |