diff --git a/modules/audio_device/BUILD.gn b/modules/audio_device/BUILD.gn index 8465a427c3..6f0aeb5e1b 100644 --- a/modules/audio_device/BUILD.gn +++ b/modules/audio_device/BUILD.gn @@ -33,10 +33,6 @@ config("audio_device_warnings_config") { "-Wno-microsoft-goto", "-Wno-reorder", "-Wno-shift-overflow", - - # See https://bugs.chromium.org/p/webrtc/issues/detail?id=6265 - # for -Wno-thread-safety-analysis - "-Wno-thread-safety-analysis", ] } } diff --git a/modules/audio_device/win/audio_device_core_win.cc b/modules/audio_device/win/audio_device_core_win.cc index 4e17ba7b4a..9476f311b1 100644 --- a/modules/audio_device/win/audio_device_core_win.cc +++ b/modules/audio_device/win/audio_device_core_win.cc @@ -40,6 +40,7 @@ #include "rtc_base/logging.h" #include "rtc_base/platform_thread.h" +#include "rtc_base/thread_annotations.h" #include "system_wrappers/include/sleep.h" // Macro that calls a COM method returning HRESULT value. @@ -3399,6 +3400,14 @@ int32_t AudioDeviceWindowsCore::EnableBuiltInAEC(bool enable) { return 0; } +void AudioDeviceWindowsCore::_Lock() RTC_NO_THREAD_SAFETY_ANALYSIS { + _critSect.Enter(); +} + +void AudioDeviceWindowsCore::_UnLock() RTC_NO_THREAD_SAFETY_ANALYSIS { + _critSect.Leave(); +} + int AudioDeviceWindowsCore::SetDMOProperties() { HRESULT hr = S_OK; assert(_dmo != NULL); diff --git a/modules/audio_device/win/audio_device_core_win.h b/modules/audio_device/win/audio_device_core_win.h index 317d034d29..1a0123ec40 100644 --- a/modules/audio_device/win/audio_device_core_win.h +++ b/modules/audio_device/win/audio_device_core_win.h @@ -201,8 +201,8 @@ private: // thread functions static DWORD WINAPI WSAPIRenderThread(LPVOID context); DWORD DoRenderThread(); - void _Lock() { _critSect.Enter(); }; - void _UnLock() { _critSect.Leave(); }; + void _Lock(); + void _UnLock(); int SetDMOProperties();