diff options
author | henrik.lundin@webrtc.org <henrik.lundin@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> | 2014-06-05 10:37:13 +0000 |
---|---|---|
committer | henrik.lundin@webrtc.org <henrik.lundin@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> | 2014-06-05 10:37:13 +0000 |
commit | 2f816bbae743c7fe8d62bfef95fa5e8eba366151 (patch) | |
tree | 4158ce43dfb030b50ee98330da522fea80645f6c /webrtc | |
parent | eae79248361e923aadcb3173283484747a0c7ac7 (diff) | |
download | webrtc-2f816bbae743c7fe8d62bfef95fa5e8eba366151.tar.gz |
NetEq: Add thread annotation to const scoped_ptrs
Since the objects pointed to are not const, only the pointer to them,
they too must be accessed under lock.
Move the crit_sect to above the variables it is protecting.
R=pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/12679006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6340 4adac7df-926f-26a2-2b94-8c16560cd09d
Diffstat (limited to 'webrtc')
-rw-r--r-- | webrtc/modules/audio_coding/neteq4/neteq_impl.cc | 4 | ||||
-rw-r--r-- | webrtc/modules/audio_coding/neteq4/neteq_impl.h | 33 |
2 files changed, 21 insertions, 16 deletions
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<BufferLevelFilter> buffer_level_filter_; - const scoped_ptr<DecoderDatabase> decoder_database_; - const scoped_ptr<DelayManager> delay_manager_; - const scoped_ptr<DelayPeakDetector> delay_peak_detector_; - const scoped_ptr<DtmfBuffer> dtmf_buffer_; - const scoped_ptr<DtmfToneGenerator> dtmf_tone_generator_; - const scoped_ptr<PacketBuffer> packet_buffer_; - const scoped_ptr<PayloadSplitter> payload_splitter_; - const scoped_ptr<TimestampScaler> timestamp_scaler_; - const scoped_ptr<PostDecodeVad> vad_; - const scoped_ptr<ExpandFactory> expand_factory_; - const scoped_ptr<AccelerateFactory> accelerate_factory_; - const scoped_ptr<PreemptiveExpandFactory> preemptive_expand_factory_; + const scoped_ptr<CriticalSectionWrapper> crit_sect_; + const scoped_ptr<BufferLevelFilter> buffer_level_filter_ + GUARDED_BY(crit_sect_); + const scoped_ptr<DecoderDatabase> decoder_database_ GUARDED_BY(crit_sect_); + const scoped_ptr<DelayManager> delay_manager_ GUARDED_BY(crit_sect_); + const scoped_ptr<DelayPeakDetector> delay_peak_detector_ + GUARDED_BY(crit_sect_); + const scoped_ptr<DtmfBuffer> dtmf_buffer_ GUARDED_BY(crit_sect_); + const scoped_ptr<DtmfToneGenerator> dtmf_tone_generator_ + GUARDED_BY(crit_sect_); + const scoped_ptr<PacketBuffer> packet_buffer_ GUARDED_BY(crit_sect_); + const scoped_ptr<PayloadSplitter> payload_splitter_ GUARDED_BY(crit_sect_); + const scoped_ptr<TimestampScaler> timestamp_scaler_ GUARDED_BY(crit_sect_); + const scoped_ptr<PostDecodeVad> vad_ GUARDED_BY(crit_sect_); + const scoped_ptr<ExpandFactory> expand_factory_ GUARDED_BY(crit_sect_); + const scoped_ptr<AccelerateFactory> accelerate_factory_ + GUARDED_BY(crit_sect_); + const scoped_ptr<PreemptiveExpandFactory> preemptive_expand_factory_ + GUARDED_BY(crit_sect_); scoped_ptr<BackgroundNoise> background_noise_ GUARDED_BY(crit_sect_); scoped_ptr<DecisionLogic> 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<CriticalSectionWrapper> 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 |