diff options
Diffstat (limited to 'chromium/third_party/webrtc/modules/audio_coding/neteq4/decision_logic_fax.cc')
-rw-r--r-- | chromium/third_party/webrtc/modules/audio_coding/neteq4/decision_logic_fax.cc | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/chromium/third_party/webrtc/modules/audio_coding/neteq4/decision_logic_fax.cc b/chromium/third_party/webrtc/modules/audio_coding/neteq4/decision_logic_fax.cc deleted file mode 100644 index 00c8bcf4a2b..00000000000 --- a/chromium/third_party/webrtc/modules/audio_coding/neteq4/decision_logic_fax.cc +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#include "webrtc/modules/audio_coding/neteq4/decision_logic_fax.h" - -#include <assert.h> - -#include <algorithm> - -#include "webrtc/modules/audio_coding/neteq4/decoder_database.h" -#include "webrtc/modules/audio_coding/neteq4/sync_buffer.h" - -namespace webrtc { - -Operations DecisionLogicFax::GetDecisionSpecialized( - const SyncBuffer& sync_buffer, - const Expand& expand, - int decoder_frame_length, - const RTPHeader* packet_header, - Modes prev_mode, - bool play_dtmf, - bool* reset_decoder) { - assert(playout_mode_ == kPlayoutFax || playout_mode_ == kPlayoutOff); - uint32_t target_timestamp = sync_buffer.end_timestamp(); - uint32_t available_timestamp = 0; - int is_cng_packet = 0; - if (packet_header) { - available_timestamp = packet_header->timestamp; - is_cng_packet = - decoder_database_->IsComfortNoise(packet_header->payloadType); - } - if (is_cng_packet) { - if (static_cast<int32_t>((generated_noise_samples_ + target_timestamp) - - available_timestamp) >= 0) { - // Time to play this packet now. - return kRfc3389Cng; - } else { - // Wait before playing this packet. - return kRfc3389CngNoPacket; - } - } - if (!packet_header) { - // No packet. If in CNG mode, play as usual. Otherwise, use other method to - // generate data. - if (cng_state_ == kCngRfc3389On) { - // Continue playing comfort noise. - return kRfc3389CngNoPacket; - } else if (cng_state_ == kCngInternalOn) { - // Continue playing codec-internal comfort noise. - return kCodecInternalCng; - } else { - // Nothing to play. Generate some data to play out. - switch (playout_mode_) { - case kPlayoutOff: - return kAlternativePlc; - case kPlayoutFax: - return kAudioRepetition; - default: - assert(false); - return kUndefined; - } - } - } else if (target_timestamp == available_timestamp) { - return kNormal; - } else { - if (static_cast<int32_t>((generated_noise_samples_ + target_timestamp) - - available_timestamp) >= 0) { - return kNormal; - } else { - // If currently playing comfort noise, continue with that. Do not - // increase the timestamp counter since generated_noise_samples_ will - // be increased. - if (cng_state_ == kCngRfc3389On) { - return kRfc3389CngNoPacket; - } else if (cng_state_ == kCngInternalOn) { - return kCodecInternalCng; - } else { - // Otherwise, do packet-loss concealment and increase the - // timestamp while waiting for the time to play this packet. - switch (playout_mode_) { - case kPlayoutOff: - return kAlternativePlcIncreaseTimestamp; - case kPlayoutFax: - return kAudioRepetitionIncreaseTimestamp; - default: - assert(0); - return kUndefined; - } - } - } - } -} - - -} // namespace webrtc |