Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 55 const uint32_t kSsrcZ = 0x42; | 55 const uint32_t kSsrcZ = 0x42; |
| 56 const uint32_t kSsrcW = 0x02; | 56 const uint32_t kSsrcW = 0x02; |
| 57 const uint32_t kSsrcs4[] = { 11, 200, 30, 44 }; | 57 const uint32_t kSsrcs4[] = { 11, 200, 30, 44 }; |
| 58 | 58 |
| 59 constexpr int kRtpHistoryMs = 5000; | 59 constexpr int kRtpHistoryMs = 5000; |
| 60 | 60 |
| 61 class FakeVoEWrapper : public cricket::VoEWrapper { | 61 class FakeVoEWrapper : public cricket::VoEWrapper { |
| 62 public: | 62 public: |
| 63 explicit FakeVoEWrapper(cricket::FakeWebRtcVoiceEngine* engine) | 63 explicit FakeVoEWrapper(cricket::FakeWebRtcVoiceEngine* engine) |
| 64 : cricket::VoEWrapper(engine, // base | 64 : cricket::VoEWrapper(engine, // base |
| 65 engine, // codec | 65 engine) { // codec |
| 66 engine) { // hw | |
| 67 } | 66 } |
| 68 }; | 67 }; |
| 69 | 68 |
| 70 class MockTransmitMixer : public webrtc::voe::TransmitMixer { | 69 class MockTransmitMixer : public webrtc::voe::TransmitMixer { |
| 71 public: | 70 public: |
| 72 MockTransmitMixer() = default; | 71 MockTransmitMixer() = default; |
| 73 virtual ~MockTransmitMixer() = default; | 72 virtual ~MockTransmitMixer() = default; |
| 74 | 73 |
| 75 MOCK_METHOD1(EnableStereoChannelSwapping, void(bool enable)); | 74 MOCK_METHOD1(EnableStereoChannelSwapping, void(bool enable)); |
| 76 }; | 75 }; |
| 76 | |
| 77 void AdmSetupExpectations(webrtc::test::MockAudioDeviceModule* adm) { | |
|
henrika_webrtc
2017/03/13 11:15:55
These changes does not correlate 100% with the rem
the sun
2017/03/15 12:47:57
Certainly!
The previous calls to SetRecordingDevi
henrika_webrtc
2017/03/15 12:50:19
Acknowledged.
| |
| 78 RTC_DCHECK(adm); | |
| 79 EXPECT_CALL(*adm, AddRef()).WillOnce(Return(0)); | |
| 80 EXPECT_CALL(*adm, Release()).WillOnce(Return(0)); | |
| 81 #if !defined(WEBRTC_IOS) | |
| 82 EXPECT_CALL(*adm, Recording()).WillOnce(Return(false)); | |
| 83 EXPECT_CALL(*adm, SetRecordingChannel(webrtc::AudioDeviceModule:: | |
| 84 ChannelType::kChannelBoth)).WillOnce(Return(0)); | |
| 85 #if defined(WEBRTC_WIN) | |
| 86 EXPECT_CALL(*adm, SetRecordingDevice( | |
| 87 static_cast<webrtc::AudioDeviceModule::WindowsDeviceType>( | |
| 88 webrtc::AudioDeviceModule::WindowsDeviceType::kDefaultCommunicationDev ice))) | |
| 89 .WillOnce(Return(0)); | |
| 90 #else | |
| 91 EXPECT_CALL(*adm, SetRecordingDevice(0)).WillOnce(Return(0)); | |
| 92 #endif // #if defined(WEBRTC_WIN) | |
| 93 EXPECT_CALL(*adm, InitMicrophone()).WillOnce(Return(0)); | |
| 94 EXPECT_CALL(*adm, StereoRecordingIsAvailable(testing::_)).WillOnce(Return(0)); | |
| 95 EXPECT_CALL(*adm, SetStereoRecording(false)).WillOnce(Return(0)); | |
| 96 EXPECT_CALL(*adm, Playing()).WillOnce(Return(false)); | |
| 97 #if defined(WEBRTC_WIN) | |
| 98 EXPECT_CALL(*adm, SetPlayoutDevice( | |
| 99 static_cast<webrtc::AudioDeviceModule::WindowsDeviceType>( | |
| 100 webrtc::AudioDeviceModule::WindowsDeviceType::kDefaultCommunicationDev ice))) | |
| 101 .WillOnce(Return(0)); | |
| 102 #else | |
| 103 EXPECT_CALL(*adm, SetPlayoutDevice(0)).WillOnce(Return(0)); | |
| 104 #endif // #if defined(WEBRTC_WIN) | |
| 105 EXPECT_CALL(*adm, InitSpeaker()).WillOnce(Return(0)); | |
| 106 EXPECT_CALL(*adm, StereoPlayoutIsAvailable(testing::_)).WillOnce(Return(0)); | |
| 107 EXPECT_CALL(*adm, SetStereoPlayout(false)).WillOnce(Return(0)); | |
| 108 #endif // #if !defined(WEBRTC_IOS) | |
| 109 EXPECT_CALL(*adm, BuiltInAECIsAvailable()).WillOnce(Return(false)); | |
| 110 EXPECT_CALL(*adm, BuiltInAGCIsAvailable()).WillOnce(Return(false)); | |
| 111 EXPECT_CALL(*adm, BuiltInNSIsAvailable()).WillOnce(Return(false)); | |
| 112 EXPECT_CALL(*adm, SetAGC(true)).WillOnce(Return(0)); | |
| 113 } | |
| 77 } // namespace | 114 } // namespace |
| 78 | 115 |
| 79 // Tests that our stub library "works". | 116 // Tests that our stub library "works". |
| 80 TEST(WebRtcVoiceEngineTestStubLibrary, StartupShutdown) { | 117 TEST(WebRtcVoiceEngineTestStubLibrary, StartupShutdown) { |
| 81 StrictMock<webrtc::test::MockAudioDeviceModule> adm; | 118 StrictMock<webrtc::test::MockAudioDeviceModule> adm; |
| 82 EXPECT_CALL(adm, AddRef()).WillOnce(Return(0)); | 119 AdmSetupExpectations(&adm); |
| 83 EXPECT_CALL(adm, Release()).WillOnce(Return(0)); | |
| 84 EXPECT_CALL(adm, BuiltInAECIsAvailable()).WillOnce(Return(false)); | |
| 85 EXPECT_CALL(adm, BuiltInAGCIsAvailable()).WillOnce(Return(false)); | |
| 86 EXPECT_CALL(adm, BuiltInNSIsAvailable()).WillOnce(Return(false)); | |
| 87 EXPECT_CALL(adm, SetAGC(true)).WillOnce(Return(0)); | |
| 88 StrictMock<webrtc::test::MockAudioProcessing> apm; | 120 StrictMock<webrtc::test::MockAudioProcessing> apm; |
| 89 EXPECT_CALL(apm, ApplyConfig(testing::_)); | 121 EXPECT_CALL(apm, ApplyConfig(testing::_)); |
| 90 EXPECT_CALL(apm, SetExtraOptions(testing::_)); | 122 EXPECT_CALL(apm, SetExtraOptions(testing::_)); |
| 91 EXPECT_CALL(apm, Initialize()).WillOnce(Return(0)); | 123 EXPECT_CALL(apm, Initialize()).WillOnce(Return(0)); |
| 92 StrictMock<MockTransmitMixer> transmit_mixer; | 124 StrictMock<MockTransmitMixer> transmit_mixer; |
| 93 EXPECT_CALL(transmit_mixer, EnableStereoChannelSwapping(false)); | 125 EXPECT_CALL(transmit_mixer, EnableStereoChannelSwapping(false)); |
| 94 cricket::FakeWebRtcVoiceEngine voe(&apm, &transmit_mixer); | 126 cricket::FakeWebRtcVoiceEngine voe(&apm, &transmit_mixer); |
| 95 EXPECT_FALSE(voe.IsInited()); | 127 EXPECT_FALSE(voe.IsInited()); |
| 96 { | 128 { |
| 97 cricket::WebRtcVoiceEngine engine( | 129 cricket::WebRtcVoiceEngine engine( |
| (...skipping 16 matching lines...) Expand all Loading... | |
| 114 class WebRtcVoiceEngineTestFake : public testing::Test { | 146 class WebRtcVoiceEngineTestFake : public testing::Test { |
| 115 public: | 147 public: |
| 116 WebRtcVoiceEngineTestFake() : WebRtcVoiceEngineTestFake("") {} | 148 WebRtcVoiceEngineTestFake() : WebRtcVoiceEngineTestFake("") {} |
| 117 | 149 |
| 118 explicit WebRtcVoiceEngineTestFake(const char* field_trials) | 150 explicit WebRtcVoiceEngineTestFake(const char* field_trials) |
| 119 : apm_gc_(*apm_.gain_control()), apm_ec_(*apm_.echo_cancellation()), | 151 : apm_gc_(*apm_.gain_control()), apm_ec_(*apm_.echo_cancellation()), |
| 120 apm_ns_(*apm_.noise_suppression()), apm_vd_(*apm_.voice_detection()), | 152 apm_ns_(*apm_.noise_suppression()), apm_vd_(*apm_.voice_detection()), |
| 121 call_(webrtc::Call::Config(&event_log_)), voe_(&apm_, &transmit_mixer_), | 153 call_(webrtc::Call::Config(&event_log_)), voe_(&apm_, &transmit_mixer_), |
| 122 override_field_trials_(field_trials) { | 154 override_field_trials_(field_trials) { |
| 123 // AudioDeviceModule. | 155 // AudioDeviceModule. |
| 124 EXPECT_CALL(adm_, AddRef()).WillOnce(Return(0)); | 156 AdmSetupExpectations(&adm_); |
| 125 EXPECT_CALL(adm_, Release()).WillOnce(Return(0)); | |
| 126 EXPECT_CALL(adm_, BuiltInAECIsAvailable()).WillOnce(Return(false)); | |
| 127 EXPECT_CALL(adm_, BuiltInAGCIsAvailable()).WillOnce(Return(false)); | |
| 128 EXPECT_CALL(adm_, BuiltInNSIsAvailable()).WillOnce(Return(false)); | |
| 129 EXPECT_CALL(adm_, SetAGC(true)).WillOnce(Return(0)); | |
| 130 // AudioProcessing. | 157 // AudioProcessing. |
| 131 EXPECT_CALL(apm_, ApplyConfig(testing::_)); | 158 EXPECT_CALL(apm_, ApplyConfig(testing::_)); |
| 132 EXPECT_CALL(apm_, SetExtraOptions(testing::_)); | 159 EXPECT_CALL(apm_, SetExtraOptions(testing::_)); |
| 133 EXPECT_CALL(apm_, Initialize()).WillOnce(Return(0)); | 160 EXPECT_CALL(apm_, Initialize()).WillOnce(Return(0)); |
| 134 // Default Options. | 161 // Default Options. |
| 135 EXPECT_CALL(apm_ec_, Enable(true)).WillOnce(Return(0)); | 162 EXPECT_CALL(apm_ec_, Enable(true)).WillOnce(Return(0)); |
| 136 EXPECT_CALL(apm_ec_, enable_metrics(true)).WillOnce(Return(0)); | 163 EXPECT_CALL(apm_ec_, enable_metrics(true)).WillOnce(Return(0)); |
| 137 EXPECT_CALL(apm_gc_, Enable(true)).WillOnce(Return(0)); | 164 EXPECT_CALL(apm_gc_, Enable(true)).WillOnce(Return(0)); |
| 138 EXPECT_CALL(apm_ns_, Enable(true)).WillOnce(Return(0)); | 165 EXPECT_CALL(apm_ns_, Enable(true)).WillOnce(Return(0)); |
| 139 EXPECT_CALL(apm_vd_, Enable(true)).WillOnce(Return(0)); | 166 EXPECT_CALL(apm_vd_, Enable(true)).WillOnce(Return(0)); |
| (...skipping 3655 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3795 // Without this cast, the comparison turned unsigned and, thus, failed for -1. | 3822 // Without this cast, the comparison turned unsigned and, thus, failed for -1. |
| 3796 const int num_specs = static_cast<int>(specs.size()); | 3823 const int num_specs = static_cast<int>(specs.size()); |
| 3797 EXPECT_GE(find_codec({"cn", 8000, 1}), num_specs); | 3824 EXPECT_GE(find_codec({"cn", 8000, 1}), num_specs); |
| 3798 EXPECT_GE(find_codec({"cn", 16000, 1}), num_specs); | 3825 EXPECT_GE(find_codec({"cn", 16000, 1}), num_specs); |
| 3799 EXPECT_EQ(find_codec({"cn", 32000, 1}), -1); | 3826 EXPECT_EQ(find_codec({"cn", 32000, 1}), -1); |
| 3800 EXPECT_GE(find_codec({"telephone-event", 8000, 1}), num_specs); | 3827 EXPECT_GE(find_codec({"telephone-event", 8000, 1}), num_specs); |
| 3801 EXPECT_GE(find_codec({"telephone-event", 16000, 1}), num_specs); | 3828 EXPECT_GE(find_codec({"telephone-event", 16000, 1}), num_specs); |
| 3802 EXPECT_GE(find_codec({"telephone-event", 32000, 1}), num_specs); | 3829 EXPECT_GE(find_codec({"telephone-event", 32000, 1}), num_specs); |
| 3803 EXPECT_GE(find_codec({"telephone-event", 48000, 1}), num_specs); | 3830 EXPECT_GE(find_codec({"telephone-event", 48000, 1}), num_specs); |
| 3804 } | 3831 } |
| OLD | NEW |