diff options
author | Andras Becsi <andras.becsi@digia.com> | 2014-03-18 13:16:26 +0100 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2014-03-20 15:55:39 +0100 |
commit | 3f0f86b0caed75241fa71c95a5d73bc0164348c5 (patch) | |
tree | 92b9fb00f2e9e90b0be2262093876d4f43b6cd13 /chromium/third_party/webrtc/modules/audio_coding/main/source/audio_coding_module_impl.cc | |
parent | e90d7c4b152c56919d963987e2503f9909a666d2 (diff) |
Update to new stable branch 1750
This also includes an updated ninja and chromium dependencies
needed on Windows.
Change-Id: Icd597d80ed3fa4425933c9f1334c3c2e31291c42
Reviewed-by: Zoltan Arvai <zarvai@inf.u-szeged.hu>
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Diffstat (limited to 'chromium/third_party/webrtc/modules/audio_coding/main/source/audio_coding_module_impl.cc')
-rw-r--r-- | chromium/third_party/webrtc/modules/audio_coding/main/source/audio_coding_module_impl.cc | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/chromium/third_party/webrtc/modules/audio_coding/main/source/audio_coding_module_impl.cc b/chromium/third_party/webrtc/modules/audio_coding/main/source/audio_coding_module_impl.cc index f5f84505fe3..556f530ecfd 100644 --- a/chromium/third_party/webrtc/modules/audio_coding/main/source/audio_coding_module_impl.cc +++ b/chromium/third_party/webrtc/modules/audio_coding/main/source/audio_coding_module_impl.cc @@ -18,10 +18,11 @@ #include "webrtc/engine_configurations.h" #include "webrtc/modules/audio_coding/main/source/acm_codec_database.h" #include "webrtc/modules/audio_coding/main/acm2/acm_common_defs.h" +#include "webrtc/modules/audio_coding/main/acm2/call_statistics.h" #include "webrtc/modules/audio_coding/main/source/acm_dtmf_detection.h" #include "webrtc/modules/audio_coding/main/source/acm_generic_codec.h" #include "webrtc/modules/audio_coding/main/source/acm_resampler.h" -#include "webrtc/modules/audio_coding/main/source/nack.h" +#include "webrtc/modules/audio_coding/main/acm2/nack.h" #include "webrtc/system_wrappers/interface/clock.h" #include "webrtc/system_wrappers/interface/critical_section_wrapper.h" #include "webrtc/system_wrappers/interface/logging.h" @@ -154,7 +155,6 @@ AudioCodingModuleImpl::AudioCodingModuleImpl(const int32_t id, Clock* clock) last_detected_tone_(kACMToneEnd), callback_crit_sect_(CriticalSectionWrapper::CreateCriticalSection()), secondary_send_codec_inst_(), - secondary_encoder_(NULL), initial_delay_ms_(0), num_packets_accumulated_(0), num_bytes_accumulated_(0), @@ -2274,6 +2274,9 @@ int32_t AudioCodingModuleImpl::PlayoutData10Ms( { CriticalSectionScoped lock(acm_crit_sect_); + // Update call statistics. + call_stats_.DecodedByNetEq(audio_frame->speech_type_); + if (update_nack) { assert(nack_.get()); nack_->UpdateLastDecodedPacket(decoded_seq_num, decoded_timestamp); @@ -2880,6 +2883,9 @@ bool AudioCodingModuleImpl::GetSilence(int desired_sample_rate_hz, return false; } + // Record call to silence generator. + call_stats_.DecodedBySilenceGenerator(); + // We stop accumulating packets, if the number of packets or the total size // exceeds a threshold. int max_num_packets; @@ -3002,12 +3008,13 @@ int AudioCodingModuleImpl::LeastRequiredDelayMs() const { int AudioCodingModuleImpl::EnableNack(size_t max_nack_list_size) { // Don't do anything if |max_nack_list_size| is out of range. - if (max_nack_list_size == 0 || max_nack_list_size > Nack::kNackListSizeLimit) + if (max_nack_list_size == 0 || + max_nack_list_size > acm2::Nack::kNackListSizeLimit) return -1; CriticalSectionScoped lock(acm_crit_sect_); if (!nack_enabled_) { - nack_.reset(Nack::Create(kNackThresholdPackets)); + nack_.reset(acm2::Nack::Create(kNackThresholdPackets)); nack_enabled_ = true; // Sampling rate might need to be updated if we change from disable to @@ -3026,6 +3033,16 @@ void AudioCodingModuleImpl::DisableNack() { nack_enabled_ = false; } +const char* AudioCodingModuleImpl::Version() const { + return kLegacyAcmVersion; +} + +void AudioCodingModuleImpl::GetDecodingCallStatistics( + AudioDecodingCallStats* call_stats) const { + CriticalSectionScoped lock(acm_crit_sect_); + *call_stats = call_stats_.GetDecodingStatistics(); +} + } // namespace acm1 } // namespace webrtc |