 Chromium Code Reviews
 Chromium Code Reviews Issue 1414743004:
  Implement AudioSendStream::GetStats().  (Closed) 
  Base URL: https://chromium.googlesource.com/external/webrtc.git@master
    
  
    Issue 1414743004:
  Implement AudioSendStream::GetStats().  (Closed) 
  Base URL: https://chromium.googlesource.com/external/webrtc.git@master| OLD | NEW | 
|---|---|
| 1 /* | 1 /* | 
| 2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2015 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 #ifndef WEBRTC_AUDIO_FAKE_VOICE_ENGINE_H_ | 11 #ifndef WEBRTC_AUDIO_FAKE_VOICE_ENGINE_H_ | 
| 12 #define WEBRTC_AUDIO_FAKE_VOICE_ENGINE_H_ | 12 #define WEBRTC_AUDIO_FAKE_VOICE_ENGINE_H_ | 
| 13 | 13 | 
| 14 #include <vector> | 14 #include <vector> | 
| 15 | 15 | 
| 16 #include "testing/gtest/include/gtest/gtest.h" | 16 #include "testing/gtest/include/gtest/gtest.h" | 
| 17 | 17 | 
| 18 #include "webrtc/voice_engine/voice_engine_impl.h" | 18 #include "webrtc/voice_engine/voice_engine_impl.h" | 
| 19 | 19 | 
| 20 namespace webrtc { | 20 namespace webrtc { | 
| 21 namespace test { | 21 namespace test { | 
| 22 | 22 | 
| 23 // NOTE: This class inherits from VoiceEngineImpl so that its clients will be | 23 // NOTE: This class inherits from VoiceEngineImpl so that its clients will be | 
| 24 // able to get the various interfaces as usual, via T::GetInterface(). | 24 // able to get the various interfaces as usual, via T::GetInterface(). | 
| 25 class FakeVoiceEngine final : public VoiceEngineImpl { | 25 class FakeVoiceEngine final : public VoiceEngineImpl { | 
| 26 public: | 26 public: | 
| 27 const int kSendChannelId = 1; | 27 const int kSendChannelId = 1; | 
| 28 const int kReceiveChannelId = 2; | 28 const int kRecvChannelId = 2; | 
| 
tommi
2015/10/23 12:50:37
I think these should all be static and be referenc
 
the sun
2015/10/23 15:14:17
Ok, you get the .cc :)
 | |
| 29 | 29 const uint32_t kSendSsrc = 665; | 
| 30 const uint32_t kRecvSsrc = 667; | |
| 31 const int kSendEchoDelayMedian = 254; | |
| 32 const int kSendEchoDelayStdDev = -3; | |
| 33 const int kSendEchoReturnLoss = -65; | |
| 34 const int kSendEchoReturnLossEnhancement = 101; | |
| 30 const int kRecvJitterBufferDelay = -7; | 35 const int kRecvJitterBufferDelay = -7; | 
| 31 const int kRecvPlayoutBufferDelay = 302; | 36 const int kRecvPlayoutBufferDelay = 302; | 
| 37 const unsigned int kSendSpeechInputLevel = 96; | |
| 32 const unsigned int kRecvSpeechOutputLevel = 99; | 38 const unsigned int kRecvSpeechOutputLevel = 99; | 
| 33 | 39 | 
| 34 FakeVoiceEngine() : VoiceEngineImpl(new Config(), true) { | 40 FakeVoiceEngine() : VoiceEngineImpl(new Config(), true) { | 
| 35 // Increase ref count so this object isn't automatically deleted whenever | 41 // Increase ref count so this object isn't automatically deleted whenever | 
| 36 // interfaces are Release():d. | 42 // interfaces are Release():d. | 
| 37 ++_ref_count; | 43 ++_ref_count; | 
| 38 } | 44 } | 
| 39 ~FakeVoiceEngine() override { | 45 ~FakeVoiceEngine() override { | 
| 40 // Decrease ref count before base class d-tor is called; otherwise it will | 46 // Decrease ref count before base class d-tor is called; otherwise it will | 
| 41 // trigger an assertion. | 47 // trigger an assertion. | 
| 42 --_ref_count; | 48 --_ref_count; | 
| 43 } | 49 } | 
| 44 | 50 | 
| 51 const CallStatistics& GetSendCallStats() const { | |
| 52 static const CallStatistics kStats = { | |
| 
tommi
2015/10/23 12:50:37
I'm a bit on the fence whether using statics like
 
the sun
2015/10/23 15:14:17
I've made this static const structs and moved them
 
kwiberg-webrtc
2015/10/25 02:07:43
CallStatistics looks like a POD to me (if I'm look
 
the sun
2015/10/26 09:11:02
So now that the structs are static const members o
 | |
| 53 1345, 1678, 1901, 1234, 112, 13456, 17890, 1567, -1890, -1123 | |
| 54 }; | |
| 55 return kStats; | |
| 56 } | |
| 57 | |
| 58 const CodecInst& GetSendCodecInst() const { | |
| 59 static const CodecInst kStats = { | |
| 60 -121, "codec_name_send", 48000, -231, -451, -671 | |
| 61 }; | |
| 62 return kStats; | |
| 63 } | |
| 64 | |
| 65 const ReportBlock& GetSendReportBlock() const { | |
| 66 static const ReportBlock kBlock = { | |
| 67 456, 780, 123, 567, 890, 132, 143, 13354 | |
| 68 }; | |
| 69 return kBlock; | |
| 70 } | |
| 71 | |
| 45 const CallStatistics& GetRecvCallStats() const { | 72 const CallStatistics& GetRecvCallStats() const { | 
| 46 static const CallStatistics kStats = { | 73 static const CallStatistics kStats = { | 
| 47 345, 678, 901, 234, -1, 0, 0, 567, 890, 123 | 74 345, 678, 901, 234, -12, 3456, 7890, 567, 890, 123 | 
| 48 }; | 75 }; | 
| 49 return kStats; | 76 return kStats; | 
| 50 } | 77 } | 
| 51 | 78 | 
| 52 const CodecInst& GetRecvRecCodecInst() const { | 79 const CodecInst& GetRecvCodecInst() const { | 
| 53 static const CodecInst kStats = { | 80 static const CodecInst kStats = { | 
| 54 123, "codec_name", 96000, -1, -1, -1 | 81 123, "codec_name_recv", 96000, -187, -198, -103 | 
| 55 }; | 82 }; | 
| 56 return kStats; | 83 return kStats; | 
| 57 } | 84 } | 
| 58 | 85 | 
| 59 const NetworkStatistics& GetRecvNetworkStats() const { | 86 const NetworkStatistics& GetRecvNetworkStats() const { | 
| 60 static const NetworkStatistics kStats = { | 87 static const NetworkStatistics kStats = { | 
| 61 123, 456, false, 0, 0, 789, 12, 345, 678, 901, -1, -1, -1, -1, -1, 0 | 88 123, 456, false, 0, 0, 789, 12, 345, 678, 901, -1, -1, -1, -1, -1, 0 | 
| 62 }; | 89 }; | 
| 63 return kStats; | 90 return kStats; | 
| 64 } | 91 } | 
| 65 | 92 | 
| 66 const AudioDecodingCallStats& GetRecvAudioDecodingCallStats() const { | 93 const AudioDecodingCallStats& GetRecvAudioDecodingCallStats() const { | 
| 67 static AudioDecodingCallStats stats; | 94 static AudioDecodingCallStats stats; | 
| 68 if (stats.calls_to_silence_generator == 0) { | 95 if (stats.calls_to_silence_generator == 0) { | 
| 69 stats.calls_to_silence_generator = 234; | 96 stats.calls_to_silence_generator = 234; | 
| 70 stats.calls_to_neteq = 567; | 97 stats.calls_to_neteq = 567; | 
| 71 stats.decoded_normal = 890; | 98 stats.decoded_normal = 890; | 
| 72 stats.decoded_plc = 123; | 99 stats.decoded_plc = 123; | 
| 73 stats.decoded_cng = 456; | 100 stats.decoded_cng = 456; | 
| 74 stats.decoded_plc_cng = 789; | 101 stats.decoded_plc_cng = 789; | 
| 75 } | 102 } | 
| 76 return stats; | 103 return stats; | 
| 77 } | 104 } | 
| 78 | 105 | 
| 106 // VoEAudioProcessing | |
| 107 int SetNsStatus(bool enable, NsModes mode = kNsUnchanged) override { | |
| 108 return -1; | |
| 109 } | |
| 110 int GetNsStatus(bool& enabled, NsModes& mode) override { return -1; } | |
| 111 int SetAgcStatus(bool enable, AgcModes mode = kAgcUnchanged) override { | |
| 112 return -1; | |
| 113 } | |
| 114 int GetAgcStatus(bool& enabled, AgcModes& mode) override { return -1; } | |
| 115 int SetAgcConfig(AgcConfig config) override { return -1; } | |
| 116 int GetAgcConfig(AgcConfig& config) override { return -1; } | |
| 117 int SetEcStatus(bool enable, EcModes mode = kEcUnchanged) override { | |
| 118 return -1; | |
| 119 } | |
| 120 int GetEcStatus(bool& enabled, EcModes& mode) override { return -1; } | |
| 121 int EnableDriftCompensation(bool enable) override { return -1; } | |
| 122 bool DriftCompensationEnabled() override { return false; } | |
| 123 void SetDelayOffsetMs(int offset) override {} | |
| 124 int DelayOffsetMs() override { return -1; } | |
| 125 int SetAecmMode(AecmModes mode = kAecmSpeakerphone, | |
| 126 bool enableCNG = true) override { return -1; } | |
| 127 int GetAecmMode(AecmModes& mode, bool& enabledCNG) override { return -1; } | |
| 128 int EnableHighPassFilter(bool enable) override { return -1; } | |
| 129 bool IsHighPassFilterEnabled() override { return false; } | |
| 130 int SetRxNsStatus(int channel, | |
| 131 bool enable, | |
| 132 NsModes mode = kNsUnchanged) override { return -1; } | |
| 133 int GetRxNsStatus(int channel, bool& enabled, NsModes& mode) override { | |
| 134 return -1; | |
| 135 } | |
| 136 int SetRxAgcStatus(int channel, | |
| 137 bool enable, | |
| 138 AgcModes mode = kAgcUnchanged) override { return -1; } | |
| 139 int GetRxAgcStatus(int channel, bool& enabled, AgcModes& mode) override { | |
| 140 return -1; | |
| 141 } | |
| 142 int SetRxAgcConfig(int channel, AgcConfig config) override { return -1; } | |
| 143 int GetRxAgcConfig(int channel, AgcConfig& config) override { return -1; } | |
| 144 int RegisterRxVadObserver(int channel, | |
| 145 VoERxVadCallback& observer) override { return -1; } | |
| 146 int DeRegisterRxVadObserver(int channel) override { return -1; } | |
| 147 int VoiceActivityIndicator(int channel) override { return -1; } | |
| 148 int SetEcMetricsStatus(bool enable) override { return -1; } | |
| 149 int GetEcMetricsStatus(bool& enabled) override { | |
| 150 enabled = true; | |
| 151 return 0; | |
| 152 } | |
| 153 int GetEchoMetrics(int& ERL, int& ERLE, int& RERL, int& A_NLP) override { | |
| 154 ERL = kSendEchoReturnLoss; | |
| 155 ERLE = kSendEchoReturnLossEnhancement; | |
| 156 RERL = -123456789; | |
| 157 A_NLP = 123456789; | |
| 158 return 0; | |
| 159 } | |
| 160 int GetEcDelayMetrics(int& delay_median, | |
| 161 int& delay_std, | |
| 162 float& fraction_poor_delays) override { | |
| 163 delay_median = kSendEchoDelayMedian; | |
| 164 delay_std = kSendEchoDelayStdDev; | |
| 165 fraction_poor_delays = -12345.7890; | |
| 166 return 0; | |
| 167 } | |
| 168 int StartDebugRecording(const char* fileNameUTF8) override { return -1; } | |
| 169 int StartDebugRecording(FILE* file_handle) override { return -1; } | |
| 170 int StopDebugRecording() override { return -1; } | |
| 171 int SetTypingDetectionStatus(bool enable) override { return -1; } | |
| 172 int GetTypingDetectionStatus(bool& enabled) override { return -1; } | |
| 173 int TimeSinceLastTyping(int& seconds) override { return -1; } | |
| 174 int SetTypingDetectionParameters(int timeWindow, | |
| 175 int costPerTyping, | |
| 176 int reportingThreshold, | |
| 177 int penaltyDecay, | |
| 178 int typeEventDelay = 0) override { | |
| 179 return -1; | |
| 180 } | |
| 181 void EnableStereoChannelSwapping(bool enable) override {} | |
| 182 bool IsStereoChannelSwappingEnabled() override { return false; } | |
| 183 | |
| 79 // VoEBase | 184 // VoEBase | 
| 80 int RegisterVoiceEngineObserver(VoiceEngineObserver& observer) override { | 185 int RegisterVoiceEngineObserver(VoiceEngineObserver& observer) override { | 
| 81 return -1; | 186 return -1; | 
| 82 } | 187 } | 
| 83 int DeRegisterVoiceEngineObserver() override { return -1; } | 188 int DeRegisterVoiceEngineObserver() override { return -1; } | 
| 84 int Init(AudioDeviceModule* external_adm = NULL, | 189 int Init(AudioDeviceModule* external_adm = NULL, | 
| 85 AudioProcessing* audioproc = NULL) override { return -1; } | 190 AudioProcessing* audioproc = NULL) override { return -1; } | 
| 86 AudioProcessing* audio_processing() override { return nullptr; } | 191 AudioProcessing* audio_processing() override { return nullptr; } | 
| 87 int Terminate() override { return -1; } | 192 int Terminate() override { return -1; } | 
| 88 int CreateChannel() override { return -1; } | 193 int CreateChannel() override { return -1; } | 
| 89 int CreateChannel(const Config& config) override { return -1; } | 194 int CreateChannel(const Config& config) override { return -1; } | 
| 90 int DeleteChannel(int channel) override { return -1; } | 195 int DeleteChannel(int channel) override { return -1; } | 
| 91 int StartReceive(int channel) override { return -1; } | 196 int StartReceive(int channel) override { return -1; } | 
| 92 int StopReceive(int channel) override { return -1; } | 197 int StopReceive(int channel) override { return -1; } | 
| 93 int StartPlayout(int channel) override { return -1; } | 198 int StartPlayout(int channel) override { return -1; } | 
| 94 int StopPlayout(int channel) override { return -1; } | 199 int StopPlayout(int channel) override { return -1; } | 
| 95 int StartSend(int channel) override { return -1; } | 200 int StartSend(int channel) override { return -1; } | 
| 96 int StopSend(int channel) override { return -1; } | 201 int StopSend(int channel) override { return -1; } | 
| 97 int GetVersion(char version[1024]) override { return -1; } | 202 int GetVersion(char version[1024]) override { return -1; } | 
| 98 int LastError() override { return -1; } | 203 int LastError() override { return -1; } | 
| 99 AudioTransport* audio_transport() { return nullptr; } | 204 AudioTransport* audio_transport() { return nullptr; } | 
| 100 int AssociateSendChannel(int channel, int accociate_send_channel) override { | 205 int AssociateSendChannel(int channel, int accociate_send_channel) override { | 
| 101 return -1; | 206 return -1; | 
| 102 } | 207 } | 
| 103 | 208 | 
| 104 // VoECodec | 209 // VoECodec | 
| 105 int NumOfCodecs() override { return -1; } | 210 int NumOfCodecs() override { return -1; } | 
| 106 int GetCodec(int index, CodecInst& codec) override { return -1; } | 211 int GetCodec(int index, CodecInst& codec) override { return -1; } | 
| 107 int SetSendCodec(int channel, const CodecInst& codec) override { return -1; } | 212 int SetSendCodec(int channel, const CodecInst& codec) override { return -1; } | 
| 108 int GetSendCodec(int channel, CodecInst& codec) override { return -1; } | 213 int GetSendCodec(int channel, CodecInst& codec) override { | 
| 214 EXPECT_EQ(channel, kSendChannelId); | |
| 215 codec = GetSendCodecInst(); | |
| 216 return 0; | |
| 217 } | |
| 109 int SetBitRate(int channel, int bitrate_bps) override { return -1; } | 218 int SetBitRate(int channel, int bitrate_bps) override { return -1; } | 
| 110 int GetRecCodec(int channel, CodecInst& codec) override { | 219 int GetRecCodec(int channel, CodecInst& codec) override { | 
| 111 EXPECT_EQ(channel, kReceiveChannelId); | 220 EXPECT_EQ(channel, kRecvChannelId); | 
| 112 codec = GetRecvRecCodecInst(); | 221 codec = GetRecvCodecInst(); | 
| 113 return 0; | 222 return 0; | 
| 114 } | 223 } | 
| 115 int SetRecPayloadType(int channel, const CodecInst& codec) override { | 224 int SetRecPayloadType(int channel, const CodecInst& codec) override { | 
| 116 return -1; | 225 return -1; | 
| 117 } | 226 } | 
| 118 int GetRecPayloadType(int channel, CodecInst& codec) override { return -1; } | 227 int GetRecPayloadType(int channel, CodecInst& codec) override { return -1; } | 
| 119 int SetSendCNPayloadType(int channel, int type, | 228 int SetSendCNPayloadType(int channel, int type, | 
| 120 PayloadFrequencies frequency = kFreq16000Hz) override { return -1; } | 229 PayloadFrequencies frequency = kFreq16000Hz) override { return -1; } | 
| 121 int SetVADStatus(int channel, | 230 int SetVADStatus(int channel, | 
| 122 bool enable, | 231 bool enable, | 
| (...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 288 int ReceivedRTPPacket(int channel, | 397 int ReceivedRTPPacket(int channel, | 
| 289 const void* data, | 398 const void* data, | 
| 290 size_t length, | 399 size_t length, | 
| 291 const PacketTime& packet_time) override { return -1; } | 400 const PacketTime& packet_time) override { return -1; } | 
| 292 int ReceivedRTCPPacket(int channel, | 401 int ReceivedRTCPPacket(int channel, | 
| 293 const void* data, | 402 const void* data, | 
| 294 size_t length) { return -1; } | 403 size_t length) { return -1; } | 
| 295 | 404 | 
| 296 // VoENetEqStats | 405 // VoENetEqStats | 
| 297 int GetNetworkStatistics(int channel, NetworkStatistics& stats) override { | 406 int GetNetworkStatistics(int channel, NetworkStatistics& stats) override { | 
| 298 EXPECT_EQ(channel, kReceiveChannelId); | 407 EXPECT_EQ(channel, kRecvChannelId); | 
| 299 stats = GetRecvNetworkStats(); | 408 stats = GetRecvNetworkStats(); | 
| 300 return 0; | 409 return 0; | 
| 301 } | 410 } | 
| 302 int GetDecodingCallStatistics(int channel, | 411 int GetDecodingCallStatistics(int channel, | 
| 303 AudioDecodingCallStats* stats) const override { | 412 AudioDecodingCallStats* stats) const override { | 
| 304 EXPECT_EQ(channel, kReceiveChannelId); | 413 EXPECT_EQ(channel, kRecvChannelId); | 
| 305 EXPECT_NE(nullptr, stats); | 414 EXPECT_NE(nullptr, stats); | 
| 306 *stats = GetRecvAudioDecodingCallStats(); | 415 *stats = GetRecvAudioDecodingCallStats(); | 
| 307 return 0; | 416 return 0; | 
| 308 } | 417 } | 
| 309 | 418 | 
| 310 // VoERTP_RTCP | 419 // VoERTP_RTCP | 
| 311 int SetLocalSSRC(int channel, unsigned int ssrc) override { return -1; } | 420 int SetLocalSSRC(int channel, unsigned int ssrc) override { return -1; } | 
| 312 int GetLocalSSRC(int channel, unsigned int& ssrc) override { return -1; } | 421 int GetLocalSSRC(int channel, unsigned int& ssrc) override { | 
| 313 int GetRemoteSSRC(int channel, unsigned int& ssrc) override { | 422 EXPECT_EQ(channel, kSendChannelId); | 
| 314 EXPECT_EQ(channel, kReceiveChannelId); | |
| 315 ssrc = 0; | 423 ssrc = 0; | 
| 316 return 0; | 424 return 0; | 
| 317 } | 425 } | 
| 426 int GetRemoteSSRC(int channel, unsigned int& ssrc) override { | |
| 427 EXPECT_EQ(channel, kRecvChannelId); | |
| 428 ssrc = 0; | |
| 429 return 0; | |
| 430 } | |
| 318 int SetSendAudioLevelIndicationStatus(int channel, | 431 int SetSendAudioLevelIndicationStatus(int channel, | 
| 319 bool enable, | 432 bool enable, | 
| 320 unsigned char id = 1) override { | 433 unsigned char id = 1) override { | 
| 321 return -1; | 434 return -1; | 
| 322 } | 435 } | 
| 323 int SetSendAbsoluteSenderTimeStatus(int channel, | 436 int SetSendAbsoluteSenderTimeStatus(int channel, | 
| 324 bool enable, | 437 bool enable, | 
| 325 unsigned char id) override { return -1; } | 438 unsigned char id) override { return -1; } | 
| 326 int SetReceiveAbsoluteSenderTimeStatus(int channel, | 439 int SetReceiveAbsoluteSenderTimeStatus(int channel, | 
| 327 bool enable, | 440 bool enable, | 
| (...skipping 12 matching lines...) Expand all Loading... | |
| 340 unsigned int& playoutTimestamp, | 453 unsigned int& playoutTimestamp, | 
| 341 unsigned int* jitter = NULL, | 454 unsigned int* jitter = NULL, | 
| 342 unsigned short* fractionLost = NULL) override { | 455 unsigned short* fractionLost = NULL) override { | 
| 343 return -1; | 456 return -1; | 
| 344 } | 457 } | 
| 345 int GetRTPStatistics(int channel, | 458 int GetRTPStatistics(int channel, | 
| 346 unsigned int& averageJitterMs, | 459 unsigned int& averageJitterMs, | 
| 347 unsigned int& maxJitterMs, | 460 unsigned int& maxJitterMs, | 
| 348 unsigned int& discardedPackets) override { return -1; } | 461 unsigned int& discardedPackets) override { return -1; } | 
| 349 int GetRTCPStatistics(int channel, CallStatistics& stats) override { | 462 int GetRTCPStatistics(int channel, CallStatistics& stats) override { | 
| 350 EXPECT_EQ(channel, kReceiveChannelId); | 463 if (channel == kSendChannelId) { | 
| 351 stats = GetRecvCallStats(); | 464 stats = GetSendCallStats(); | 
| 465 } else { | |
| 466 EXPECT_EQ(channel, kRecvChannelId); | |
| 467 stats = GetRecvCallStats(); | |
| 468 } | |
| 352 return 0; | 469 return 0; | 
| 353 } | 470 } | 
| 354 int GetRemoteRTCPReportBlocks( | 471 int GetRemoteRTCPReportBlocks( | 
| 355 int channel, | 472 int channel, | 
| 356 std::vector<ReportBlock>* receive_blocks) override { return -1; } | 473 std::vector<ReportBlock>* receive_blocks) override { | 
| 474 EXPECT_EQ(channel, kSendChannelId); | |
| 475 EXPECT_NE(receive_blocks, nullptr); | |
| 476 EXPECT_EQ(receive_blocks->size(), 0u); | |
| 477 webrtc::ReportBlock block = GetSendReportBlock(); | |
| 478 receive_blocks->push_back(block); // Has wrong SSRC. | |
| 479 block.source_SSRC = kSendSsrc; | |
| 480 receive_blocks->push_back(block); // Correct block. | |
| 481 block.fraction_lost = 0; | |
| 482 receive_blocks->push_back(block); // Duplicate SSRC, bad fraction_lost. | |
| 483 return 0; | |
| 484 } | |
| 357 int SetNACKStatus(int channel, bool enable, int maxNoPackets) override { | 485 int SetNACKStatus(int channel, bool enable, int maxNoPackets) override { | 
| 358 return -1; | 486 return -1; | 
| 359 } | 487 } | 
| 360 | 488 | 
| 361 // VoEVideoSync | 489 // VoEVideoSync | 
| 362 int GetPlayoutBufferSize(int& buffer_ms) override { return -1; } | 490 int GetPlayoutBufferSize(int& buffer_ms) override { return -1; } | 
| 363 int SetMinimumPlayoutDelay(int channel, int delay_ms) override { return -1; } | 491 int SetMinimumPlayoutDelay(int channel, int delay_ms) override { return -1; } | 
| 364 int SetInitialPlayoutDelay(int channel, int delay_ms) override { return -1; } | 492 int SetInitialPlayoutDelay(int channel, int delay_ms) override { return -1; } | 
| 365 int GetDelayEstimate(int channel, | 493 int GetDelayEstimate(int channel, | 
| 366 int* jitter_buffer_delay_ms, | 494 int* jitter_buffer_delay_ms, | 
| 367 int* playout_buffer_delay_ms) override { | 495 int* playout_buffer_delay_ms) override { | 
| 368 EXPECT_EQ(channel, kReceiveChannelId); | 496 EXPECT_EQ(channel, kRecvChannelId); | 
| 369 *jitter_buffer_delay_ms = kRecvJitterBufferDelay; | 497 *jitter_buffer_delay_ms = kRecvJitterBufferDelay; | 
| 370 *playout_buffer_delay_ms = kRecvPlayoutBufferDelay; | 498 *playout_buffer_delay_ms = kRecvPlayoutBufferDelay; | 
| 371 return 0; | 499 return 0; | 
| 372 } | 500 } | 
| 373 int GetLeastRequiredDelayMs(int channel) const override { return -1; } | 501 int GetLeastRequiredDelayMs(int channel) const override { return -1; } | 
| 374 int SetInitTimestamp(int channel, unsigned int timestamp) override { | 502 int SetInitTimestamp(int channel, unsigned int timestamp) override { | 
| 375 return -1; | 503 return -1; | 
| 376 } | 504 } | 
| 377 int SetInitSequenceNumber(int channel, short sequenceNumber) override { | 505 int SetInitSequenceNumber(int channel, short sequenceNumber) override { | 
| 378 return -1; | 506 return -1; | 
| 379 } | 507 } | 
| 380 int GetPlayoutTimestamp(int channel, unsigned int& timestamp) override { | 508 int GetPlayoutTimestamp(int channel, unsigned int& timestamp) override { | 
| 381 return -1; | 509 return -1; | 
| 382 } | 510 } | 
| 383 int GetRtpRtcp(int channel, | 511 int GetRtpRtcp(int channel, | 
| 384 RtpRtcp** rtpRtcpModule, | 512 RtpRtcp** rtpRtcpModule, | 
| 385 RtpReceiver** rtp_receiver) override { return -1; } | 513 RtpReceiver** rtp_receiver) override { return -1; } | 
| 386 | 514 | 
| 387 // VoEVolumeControl | 515 // VoEVolumeControl | 
| 388 int SetSpeakerVolume(unsigned int volume) override { return -1; } | 516 int SetSpeakerVolume(unsigned int volume) override { return -1; } | 
| 389 int GetSpeakerVolume(unsigned int& volume) override { return -1; } | 517 int GetSpeakerVolume(unsigned int& volume) override { return -1; } | 
| 390 int SetMicVolume(unsigned int volume) override { return -1; } | 518 int SetMicVolume(unsigned int volume) override { return -1; } | 
| 391 int GetMicVolume(unsigned int& volume) override { return -1; } | 519 int GetMicVolume(unsigned int& volume) override { return -1; } | 
| 392 int SetInputMute(int channel, bool enable) override { return -1; } | 520 int SetInputMute(int channel, bool enable) override { return -1; } | 
| 393 int GetInputMute(int channel, bool& enabled) override { return -1; } | 521 int GetInputMute(int channel, bool& enabled) override { return -1; } | 
| 394 int GetSpeechInputLevel(unsigned int& level) override { return -1; } | 522 int GetSpeechInputLevel(unsigned int& level) override { return -1; } | 
| 395 int GetSpeechOutputLevel(int channel, unsigned int& level) override { | 523 int GetSpeechOutputLevel(int channel, unsigned int& level) override { | 
| 396 return -1; | 524 return -1; | 
| 397 } | 525 } | 
| 398 int GetSpeechInputLevelFullRange(unsigned int& level) override { return -1; } | 526 int GetSpeechInputLevelFullRange(unsigned int& level) override { | 
| 527 level = kSendSpeechInputLevel; | |
| 528 return 0; | |
| 529 } | |
| 399 int GetSpeechOutputLevelFullRange(int channel, | 530 int GetSpeechOutputLevelFullRange(int channel, | 
| 400 unsigned int& level) override { | 531 unsigned int& level) override { | 
| 401 EXPECT_EQ(channel, kReceiveChannelId); | 532 EXPECT_EQ(channel, kRecvChannelId); | 
| 402 level = kRecvSpeechOutputLevel; | 533 level = kRecvSpeechOutputLevel; | 
| 403 return 0; | 534 return 0; | 
| 404 } | 535 } | 
| 405 int SetChannelOutputVolumeScaling(int channel, float scaling) override { | 536 int SetChannelOutputVolumeScaling(int channel, float scaling) override { | 
| 406 return -1; | 537 return -1; | 
| 407 } | 538 } | 
| 408 int GetChannelOutputVolumeScaling(int channel, float& scaling) override { | 539 int GetChannelOutputVolumeScaling(int channel, float& scaling) override { | 
| 409 return -1; | 540 return -1; | 
| 410 } | 541 } | 
| 411 int SetOutputVolumePan(int channel, float left, float right) override { | 542 int SetOutputVolumePan(int channel, float left, float right) override { | 
| 412 return -1; | 543 return -1; | 
| 413 } | 544 } | 
| 414 int GetOutputVolumePan(int channel, float& left, float& right) override { | 545 int GetOutputVolumePan(int channel, float& left, float& right) override { | 
| 415 return -1; | 546 return -1; | 
| 416 } | 547 } | 
| 417 }; | 548 }; | 
| 418 } // namespace test | 549 } // namespace test | 
| 419 } // namespace webrtc | 550 } // namespace webrtc | 
| 420 | 551 | 
| 421 #endif // WEBRTC_AUDIO_FAKE_VOICE_ENGINE_H_ | 552 #endif // WEBRTC_AUDIO_FAKE_VOICE_ENGINE_H_ | 
| OLD | NEW |