Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(169)

Side by Side Diff: webrtc/modules/audio_coding/main/acm2/acm_receiver.h

Issue 1467163002: NetEq: Add new method last_output_sample_rate_hz (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698