| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  *  Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. | 2  *  Copyright (c) 2015 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 | 
| 11 #ifndef WEBRTC_MODULES_AUDIO_CODING_CODECS_ISAC_LOCKED_BANDWIDTH_INFO_H_ | 11 #ifndef WEBRTC_MODULES_AUDIO_CODING_CODECS_ISAC_LOCKED_BANDWIDTH_INFO_H_ | 
| 12 #define WEBRTC_MODULES_AUDIO_CODING_CODECS_ISAC_LOCKED_BANDWIDTH_INFO_H_ | 12 #define WEBRTC_MODULES_AUDIO_CODING_CODECS_ISAC_LOCKED_BANDWIDTH_INFO_H_ | 
| 13 | 13 | 
| 14 #include "webrtc/base/scoped_ptr.h" | 14 #include "webrtc/base/scoped_ptr.h" | 
| 15 #include "webrtc/base/thread_annotations.h" | 15 #include "webrtc/base/thread_annotations.h" | 
| 16 #include "webrtc/modules/audio_coding/codecs/isac/bandwidth_info.h" | 16 #include "webrtc/modules/audio_coding/codecs/isac/bandwidth_info.h" | 
| 17 #include "webrtc/system_wrappers/interface/critical_section_wrapper.h" | 17 #include "webrtc/system_wrappers/include/critical_section_wrapper.h" | 
| 18 | 18 | 
| 19 namespace webrtc { | 19 namespace webrtc { | 
| 20 | 20 | 
| 21 // An IsacBandwidthInfo that's safe to access from multiple threads because | 21 // An IsacBandwidthInfo that's safe to access from multiple threads because | 
| 22 // it's protected by a mutex. | 22 // it's protected by a mutex. | 
| 23 class LockedIsacBandwidthInfo final { | 23 class LockedIsacBandwidthInfo final { | 
| 24  public: | 24  public: | 
| 25   LockedIsacBandwidthInfo(); | 25   LockedIsacBandwidthInfo(); | 
| 26   ~LockedIsacBandwidthInfo(); | 26   ~LockedIsacBandwidthInfo(); | 
| 27 | 27 | 
| 28   IsacBandwidthInfo Get() const { | 28   IsacBandwidthInfo Get() const { | 
| 29     CriticalSectionScoped cs(lock_.get()); | 29     CriticalSectionScoped cs(lock_.get()); | 
| 30     return bwinfo_; | 30     return bwinfo_; | 
| 31   } | 31   } | 
| 32 | 32 | 
| 33   void Set(const IsacBandwidthInfo& bwinfo) { | 33   void Set(const IsacBandwidthInfo& bwinfo) { | 
| 34     CriticalSectionScoped cs(lock_.get()); | 34     CriticalSectionScoped cs(lock_.get()); | 
| 35     bwinfo_ = bwinfo; | 35     bwinfo_ = bwinfo; | 
| 36   } | 36   } | 
| 37 | 37 | 
| 38  private: | 38  private: | 
| 39   const rtc::scoped_ptr<CriticalSectionWrapper> lock_; | 39   const rtc::scoped_ptr<CriticalSectionWrapper> lock_; | 
| 40   IsacBandwidthInfo bwinfo_ GUARDED_BY(lock_); | 40   IsacBandwidthInfo bwinfo_ GUARDED_BY(lock_); | 
| 41 }; | 41 }; | 
| 42 | 42 | 
| 43 }  // namespace webrtc | 43 }  // namespace webrtc | 
| 44 | 44 | 
| 45 #endif  // WEBRTC_MODULES_AUDIO_CODING_CODECS_ISAC_LOCKED_BANDWIDTH_INFO_H_ | 45 #endif  // WEBRTC_MODULES_AUDIO_CODING_CODECS_ISAC_LOCKED_BANDWIDTH_INFO_H_ | 
| OLD | NEW | 
|---|