| 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 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 147 // this is before applying any user-defined limits (specified by calling | 147 // this is before applying any user-defined limits (specified by calling |
| 148 // (SetMinimumDelay() and/or SetMaximumDelay()). | 148 // (SetMinimumDelay() and/or SetMaximumDelay()). |
| 149 // | 149 // |
| 150 int LeastRequiredDelayMs() const; | 150 int LeastRequiredDelayMs() const; |
| 151 | 151 |
| 152 // | 152 // |
| 153 // Resets the initial delay to zero. | 153 // Resets the initial delay to zero. |
| 154 // | 154 // |
| 155 void ResetInitialDelay(); | 155 void ResetInitialDelay(); |
| 156 | 156 |
| 157 // | 157 // Returns last_output_sample_rate_hz from the NetEq instance. |
| 158 // Get the current sampling frequency in Hz. | 158 int last_output_sample_rate_hz() const; |
| 159 // | |
| 160 // Return value : Sampling frequency in Hz. | |
| 161 // | |
| 162 int current_sample_rate_hz() const; | |
| 163 | 159 |
| 164 // | 160 // |
| 165 // Get the current network statistics from NetEq. | 161 // Get the current network statistics from NetEq. |
| 166 // | 162 // |
| 167 // Output: | 163 // Output: |
| 168 // - statistics : The current network statistics. | 164 // - statistics : The current network statistics. |
| 169 // | 165 // |
| 170 void GetNetworkStatistics(NetworkStatistics* statistics); | 166 void GetNetworkStatistics(NetworkStatistics* statistics); |
| 171 | 167 |
| 172 // | 168 // |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 280 const Decoder* RtpHeaderToDecoder(const RTPHeader& rtp_header, | 276 const Decoder* RtpHeaderToDecoder(const RTPHeader& rtp_header, |
| 281 uint8_t payload_type) const | 277 uint8_t payload_type) const |
| 282 EXCLUSIVE_LOCKS_REQUIRED(crit_sect_); | 278 EXCLUSIVE_LOCKS_REQUIRED(crit_sect_); |
| 283 | 279 |
| 284 uint32_t NowInTimestamp(int decoder_sampling_rate) const; | 280 uint32_t NowInTimestamp(int decoder_sampling_rate) const; |
| 285 | 281 |
| 286 rtc::scoped_ptr<CriticalSectionWrapper> crit_sect_; | 282 rtc::scoped_ptr<CriticalSectionWrapper> crit_sect_; |
| 287 int id_; // TODO(henrik.lundin) Make const. | 283 int id_; // TODO(henrik.lundin) Make const. |
| 288 const Decoder* last_audio_decoder_ GUARDED_BY(crit_sect_); | 284 const Decoder* last_audio_decoder_ GUARDED_BY(crit_sect_); |
| 289 AudioFrame::VADActivity previous_audio_activity_ GUARDED_BY(crit_sect_); | 285 AudioFrame::VADActivity previous_audio_activity_ GUARDED_BY(crit_sect_); |
| 290 int current_sample_rate_hz_ GUARDED_BY(crit_sect_); | |
| 291 ACMResampler resampler_ GUARDED_BY(crit_sect_); | 286 ACMResampler resampler_ GUARDED_BY(crit_sect_); |
| 292 // Used in GetAudio, declared as member to avoid allocating every 10ms. | 287 // Used in GetAudio, declared as member to avoid allocating every 10ms. |
| 293 // TODO(henrik.lundin) Stack-allocate in GetAudio instead? | 288 // TODO(henrik.lundin) Stack-allocate in GetAudio instead? |
| 294 rtc::scoped_ptr<int16_t[]> audio_buffer_ GUARDED_BY(crit_sect_); | 289 rtc::scoped_ptr<int16_t[]> audio_buffer_ GUARDED_BY(crit_sect_); |
| 295 rtc::scoped_ptr<int16_t[]> last_audio_buffer_ GUARDED_BY(crit_sect_); | 290 rtc::scoped_ptr<int16_t[]> last_audio_buffer_ GUARDED_BY(crit_sect_); |
| 296 CallStatistics call_stats_ GUARDED_BY(crit_sect_); | 291 CallStatistics call_stats_ GUARDED_BY(crit_sect_); |
| 297 NetEq* neteq_; | 292 NetEq* neteq_; |
| 298 // Decoders map is keyed by payload type | 293 // Decoders map is keyed by payload type |
| 299 std::map<uint8_t, Decoder> decoders_ GUARDED_BY(crit_sect_); | 294 std::map<uint8_t, Decoder> decoders_ GUARDED_BY(crit_sect_); |
| 300 bool vad_enabled_; | 295 bool vad_enabled_; |
| 301 Clock* clock_; // TODO(henrik.lundin) Make const if possible. | 296 Clock* clock_; // TODO(henrik.lundin) Make const if possible. |
| 302 bool resampled_last_output_frame_ GUARDED_BY(crit_sect_); | 297 bool resampled_last_output_frame_ GUARDED_BY(crit_sect_); |
| 303 }; | 298 }; |
| 304 | 299 |
| 305 } // namespace acm2 | 300 } // namespace acm2 |
| 306 | 301 |
| 307 } // namespace webrtc | 302 } // namespace webrtc |
| 308 | 303 |
| 309 #endif // WEBRTC_MODULES_AUDIO_CODING_MAIN_ACM2_ACM_RECEIVER_H_ | 304 #endif // WEBRTC_MODULES_AUDIO_CODING_MAIN_ACM2_ACM_RECEIVER_H_ |
| OLD | NEW |