diff --git a/webrtc/modules/audio_coding/neteq4/neteq_impl.cc b/webrtc/modules/audio_coding/neteq4/neteq_impl.cc index 38a5456956..963a820610 100644 --- a/webrtc/modules/audio_coding/neteq4/neteq_impl.cc +++ b/webrtc/modules/audio_coding/neteq4/neteq_impl.cc @@ -63,7 +63,8 @@ NetEqImpl::NetEqImpl(int fs, ExpandFactory* expand_factory, PreemptiveExpandFactory* preemptive_expand_factory, bool create_components) - : buffer_level_filter_(buffer_level_filter), + : crit_sect_(CriticalSectionWrapper::CreateCriticalSection()), + buffer_level_filter_(buffer_level_filter), decoder_database_(decoder_database), delay_manager_(delay_manager), delay_peak_detector_(delay_peak_detector), @@ -89,7 +90,6 @@ NetEqImpl::NetEqImpl(int fs, first_packet_(true), error_code_(0), decoder_error_code_(0), - crit_sect_(CriticalSectionWrapper::CreateCriticalSection()), decoded_packet_sequence_number_(-1), decoded_packet_timestamp_(0) { if (fs != 8000 && fs != 16000 && fs != 32000 && fs != 48000) { diff --git a/webrtc/modules/audio_coding/neteq4/neteq_impl.h b/webrtc/modules/audio_coding/neteq4/neteq_impl.h index 9b155fe89f..751de66dd9 100644 --- a/webrtc/modules/audio_coding/neteq4/neteq_impl.h +++ b/webrtc/modules/audio_coding/neteq4/neteq_impl.h @@ -337,19 +337,25 @@ class NetEqImpl : public webrtc::NetEq { virtual void CreateDecisionLogic(NetEqPlayoutMode mode) EXCLUSIVE_LOCKS_REQUIRED(crit_sect_); - const scoped_ptr buffer_level_filter_; - const scoped_ptr decoder_database_; - const scoped_ptr delay_manager_; - const scoped_ptr delay_peak_detector_; - const scoped_ptr dtmf_buffer_; - const scoped_ptr dtmf_tone_generator_; - const scoped_ptr packet_buffer_; - const scoped_ptr payload_splitter_; - const scoped_ptr timestamp_scaler_; - const scoped_ptr vad_; - const scoped_ptr expand_factory_; - const scoped_ptr accelerate_factory_; - const scoped_ptr preemptive_expand_factory_; + const scoped_ptr crit_sect_; + const scoped_ptr buffer_level_filter_ + GUARDED_BY(crit_sect_); + const scoped_ptr decoder_database_ GUARDED_BY(crit_sect_); + const scoped_ptr delay_manager_ GUARDED_BY(crit_sect_); + const scoped_ptr delay_peak_detector_ + GUARDED_BY(crit_sect_); + const scoped_ptr dtmf_buffer_ GUARDED_BY(crit_sect_); + const scoped_ptr dtmf_tone_generator_ + GUARDED_BY(crit_sect_); + const scoped_ptr packet_buffer_ GUARDED_BY(crit_sect_); + const scoped_ptr payload_splitter_ GUARDED_BY(crit_sect_); + const scoped_ptr timestamp_scaler_ GUARDED_BY(crit_sect_); + const scoped_ptr vad_ GUARDED_BY(crit_sect_); + const scoped_ptr expand_factory_ GUARDED_BY(crit_sect_); + const scoped_ptr accelerate_factory_ + GUARDED_BY(crit_sect_); + const scoped_ptr preemptive_expand_factory_ + GUARDED_BY(crit_sect_); scoped_ptr background_noise_ GUARDED_BY(crit_sect_); scoped_ptr decision_logic_ GUARDED_BY(crit_sect_); @@ -382,7 +388,6 @@ class NetEqImpl : public webrtc::NetEq { bool first_packet_ GUARDED_BY(crit_sect_); int error_code_ GUARDED_BY(crit_sect_); // Store last error code. int decoder_error_code_ GUARDED_BY(crit_sect_); - const scoped_ptr crit_sect_; // These values are used by NACK module to estimate time-to-play of // a missing packet. Occasionally, NetEq might decide to decode more