In WebRTC.lib, Switch WASAPI playout to timer-driven mode with AUTOCONVERTPCM

Use WAVEFORMATEXTENSIBLE and AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM to
  support devices whose native format differs from 48kHz stereo PCM,
  such as Bluetooth HFP endpoints (16kHz mono) and surround sound
  devices (5.1/7.1).

  Replace the event-driven render loop (AUDCLNT_STREAMFLAGS_EVENTCALLBACK)
  with a timer-driven polling loop to avoid a known issue where
  AUTOCONVERTPCM combined with EVENTCALLBACK causes the audio engine to
  stop signaling render events, resulting in premature thread termination.

  Also adds 192kHz to the supported sample rate list, uses the first
  closest-match format from IsFormatSupported as a fallback when no
  exact match is found, and applies the same changes to the recording
  path.
This commit is contained in:
Roxie Linden
2026-02-24 19:05:16 +10:00
committed by Hecklezz
parent 3d12a0a7bb
commit 561c66543e
+7 -7
View File
@@ -2898,11 +2898,11 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key>
<map>
<key>hash</key>
<string>f77b90faf4505af9aef5d5356af7442be87ccc39</string>
<string>72ed1f6d469a8ffaffd69be39b7af186d7c3b1d7</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://github.com/RyeMutt/3p-webrtc-build/releases/download/m137.1/webrtc-m137.1.18519550447-darwin64-18519550447.tar.zst</string>
<string>https://github.com/secondlife/3p-webrtc-build/releases/download/m137.7151.04.22/webrtc-m137.7151.04.22.21966754211-darwin64-21966754211.tar.zst</string>
</map>
<key>name</key>
<string>darwin64</string>
@@ -2912,11 +2912,11 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key>
<map>
<key>hash</key>
<string>cd14e4b8320f9f3ece86388f7394dfee11255b0f</string>
<string>b4d0c836d99491841c3816ff93bb2655a2817bd3</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://github.com/RyeMutt/3p-webrtc-build/releases/download/m137.1/webrtc-m137.1.18519550447-linux64-18519550447.tar.zst</string>
<string>https://github.com/secondlife/3p-webrtc-build/releases/download/m137.7151.04.22/webrtc-m137.7151.04.22.21966754211-linux64-21966754211.tar.zst</string>
</map>
<key>name</key>
<string>linux64</string>
@@ -2926,11 +2926,11 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key>
<map>
<key>hash</key>
<string>952e58eed658d81e54f6137a5fa554e40119fc5d</string>
<string>ab2bddd77b1568b22b50ead13c1c33da94f4d59a</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://github.com/RyeMutt/3p-webrtc-build/releases/download/m137.1/webrtc-m137.1.18519550447-windows64-18519550447.tar.zst</string>
<string>https://github.com/secondlife/3p-webrtc-build/releases/download/m137.7151.04.22/webrtc-m137.7151.04.22.21966754211-windows64-21966754211.tar.zst</string>
</map>
<key>name</key>
<string>windows64</string>
@@ -2943,7 +2943,7 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>copyright</key>
<string>Copyright (c) 2011, The WebRTC project authors. All rights reserved.</string>
<key>version</key>
<string>m137.7151.04.20-universal.17630578914</string>
<string>m137.7151.04.22.21966754211</string>
<key>name</key>
<string>webrtc</string>
<key>vcs_branch</key>