| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2013 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 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 128 << static_cast<int>(header->payloadType) | 128 << static_cast<int>(header->payloadType) |
| 129 << " Failed to insert packet"; | 129 << " Failed to insert packet"; |
| 130 return -1; | 130 return -1; |
| 131 } | 131 } |
| 132 return 0; | 132 return 0; |
| 133 } | 133 } |
| 134 | 134 |
| 135 int AcmReceiver::GetAudio(int desired_freq_hz, | 135 int AcmReceiver::GetAudio(int desired_freq_hz, |
| 136 AudioFrame* audio_frame, | 136 AudioFrame* audio_frame, |
| 137 bool* muted) { | 137 bool* muted) { |
| 138 RTC_DCHECK(muted); |
| 138 // Accessing members, take the lock. | 139 // Accessing members, take the lock. |
| 139 rtc::CritScope lock(&crit_sect_); | 140 rtc::CritScope lock(&crit_sect_); |
| 140 | 141 |
| 141 if (neteq_->GetAudio(audio_frame, muted) != NetEq::kOK) { | 142 if (neteq_->GetAudio(audio_frame, muted) != NetEq::kOK) { |
| 142 LOG(LERROR) << "AcmReceiver::GetAudio - NetEq Failed."; | 143 LOG(LERROR) << "AcmReceiver::GetAudio - NetEq Failed."; |
| 143 return -1; | 144 return -1; |
| 144 } | 145 } |
| 145 | 146 |
| 146 const int current_sample_rate_hz = neteq_->last_output_sample_rate_hz(); | 147 const int current_sample_rate_hz = neteq_->last_output_sample_rate_hz(); |
| 147 | 148 |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 184 } else { | 185 } else { |
| 185 resampled_last_output_frame_ = false; | 186 resampled_last_output_frame_ = false; |
| 186 // We might end up here ONLY if codec is changed. | 187 // We might end up here ONLY if codec is changed. |
| 187 } | 188 } |
| 188 | 189 |
| 189 // Store current audio in |last_audio_buffer_| for next time. | 190 // Store current audio in |last_audio_buffer_| for next time. |
| 190 memcpy(last_audio_buffer_.get(), audio_frame->data_, | 191 memcpy(last_audio_buffer_.get(), audio_frame->data_, |
| 191 sizeof(int16_t) * audio_frame->samples_per_channel_ * | 192 sizeof(int16_t) * audio_frame->samples_per_channel_ * |
| 192 audio_frame->num_channels_); | 193 audio_frame->num_channels_); |
| 193 | 194 |
| 194 call_stats_.DecodedByNetEq(audio_frame->speech_type_); | 195 call_stats_.DecodedByNetEq(audio_frame->speech_type_, *muted); |
| 195 return 0; | 196 return 0; |
| 196 } | 197 } |
| 197 | 198 |
| 198 int32_t AcmReceiver::AddCodec(int acm_codec_id, | 199 int32_t AcmReceiver::AddCodec(int acm_codec_id, |
| 199 uint8_t payload_type, | 200 uint8_t payload_type, |
| 200 size_t channels, | 201 size_t channels, |
| 201 int sample_rate_hz, | 202 int sample_rate_hz, |
| 202 AudioDecoder* audio_decoder, | 203 AudioDecoder* audio_decoder, |
| 203 const std::string& name) { | 204 const std::string& name) { |
| 204 const auto neteq_decoder = [acm_codec_id, channels]() -> NetEqDecoder { | 205 const auto neteq_decoder = [acm_codec_id, channels]() -> NetEqDecoder { |
| (...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 415 | 416 |
| 416 void AcmReceiver::GetDecodingCallStatistics( | 417 void AcmReceiver::GetDecodingCallStatistics( |
| 417 AudioDecodingCallStats* stats) const { | 418 AudioDecodingCallStats* stats) const { |
| 418 rtc::CritScope lock(&crit_sect_); | 419 rtc::CritScope lock(&crit_sect_); |
| 419 *stats = call_stats_.GetDecodingStatistics(); | 420 *stats = call_stats_.GetDecodingStatistics(); |
| 420 } | 421 } |
| 421 | 422 |
| 422 } // namespace acm2 | 423 } // namespace acm2 |
| 423 | 424 |
| 424 } // namespace webrtc | 425 } // namespace webrtc |
| OLD | NEW |