Cameron Gutman
7d544c1ce4
Move audio capabilities out of the renderer classes
...
Since the removal of libsoundio, all renderers support arbitrary audio duration, so we can avoid having to start an audio session just to query capabilities.
2025-10-25 19:17:38 -05:00
Cameron Gutman
c7bc76325f
Revert macOS audio buffer size workaround
...
This causes excessive glitching and needs to be fixed by Apple (if it hasn't already in the 2 years since the report).
2025-10-23 21:42:44 -05:00
Cameron Gutman
4189903233
Remove libsoundio audio backend
...
SDL has been the default audio backend for years now, and libsoundio has
not been well-maintained upstream.
2025-10-11 10:35:31 -05:00
Cameron Gutman
dd2a99a96b
Prepare for SDL3 support
2025-01-25 16:20:20 -06:00
Cameron Gutman
ff332d45f8
Fix false compiler warnings about missing return from non-void function
2024-07-24 20:45:52 -05:00
Cameron Gutman
7f009a4b8e
Switch to 32-bit floating point audio
...
Excluding Steam Link due to CPU and API limitations
2024-07-17 20:37:50 -05:00
Cameron Gutman
364093aef8
Prevent a deadlock if the audio device stops consuming data
2024-05-04 21:22:38 -05:00
Cameron Gutman
0ac765bc32
Revert SDL audio buffer size on macOS to v4.3.1 value
...
Fixes #1071
2023-10-15 13:17:00 -05:00
Cameron Gutman
da1fcd49fc
Increase audio buffer size to reduce the chance of underruns
2023-09-09 12:56:05 -05:00
Cameron Gutman
1d0b65f798
Log the active SDL audio driver
2023-09-09 11:46:06 -05:00
Cameron Gutman
aca82f400a
Never use fewer than 480 samples to avoid causing issues on PulseAudio systems
...
Fixes #830
Fixes #858
2022-08-25 21:27:05 -05:00
Cameron Gutman
6c0983d77c
Reset the audio device if it enters a failed state
...
Fixes #734
2022-03-05 16:50:06 -06:00
Cameron Gutman
28ecc6bcbf
Remove old Qt Multimedia audio renderer
2021-02-25 23:23:08 -06:00
Cameron Gutman
a6551c320d
Finish Windows ARM64 bringup
...
SDL2 for ARM64 is not yet checked-in, but I will do that when SDL 2.0.14 is released.
2020-12-12 16:44:41 -06:00
Cameron Gutman
8381039f97
Remove extra includes
2020-12-06 17:15:30 -06:00
Cameron Gutman
a91c61e5e2
Remove Raspberry Pi PulseAudio avoidance hack
...
Not only is it no longer required (PA works great now), it actually breaks audio with Pi OS's new PA config
2020-12-06 16:58:41 -06:00
Cameron Gutman
15342190fa
Make audio debug logs more readable
2020-04-04 12:53:03 -07:00
Cameron Gutman
ea62e33e51
Add 7.1 surround sound support to libsoundio audio renderer
2020-04-04 09:49:10 -07:00
Cameron Gutman
524e92c81a
Add 7.1 surround sound support to SLAudio
2020-04-03 19:04:11 -07:00
Cameron Gutman
fe6a1244ed
Fix a couple compiler warnings
2020-03-18 22:46:32 -07:00
Cameron Gutman
fced653c1c
Add a hack to avoid PulseAudio on RPi
2020-02-08 23:35:42 -08:00
Cameron Gutman
3a6bf4d20b
Disable arbitrary audio duration for libsoundio until further testing is done
2019-12-03 19:00:43 -08:00
Cameron Gutman
0ccee9d806
Support arbitrary audio duration in libsoundio renderer
2019-12-01 19:43:22 -08:00
Cameron Gutman
5700272dc4
Improve low bandwidth audio performance for SDL and SLAudio and fix RTSP issues with broken PMTUD
2019-11-30 22:24:28 -06:00
Cameron Gutman
7e5a3925b3
Fix typo in channel mapping
2019-11-17 14:35:37 -08:00
Cameron Gutman
1febe32e73
Fix 5.1 channel mapping on Steam Link
2019-11-17 12:22:57 -08:00
Cameron Gutman
5288041da5
Prevent us from consuming more than 4 samples per write callback to bound latency
2019-08-03 12:47:44 -07:00
Cameron Gutman
c88651939a
Re-add latency bounding on the SDL audio renderer
2019-06-23 13:14:55 -07:00
Cameron Gutman
01254f67f0
Allow audio renderers to specify capabilities
2019-06-23 12:49:37 -07:00
Cameron Gutman
2682829bd3
Fix Steam Link audio latency cap
2019-05-20 23:57:27 -07:00
Cameron Gutman
b3ee7a635f
Cap queued audio at 40 ms on Steam Link
2019-05-11 19:09:59 -07:00
Cameron Gutman
bdbb03e16f
Request 20 ms audio frames on Steam Link to reduce CPU overhead
2019-05-04 15:46:11 -07:00
Cameron Gutman
e6a48481a5
Restore the bulk submission optimization for Steam Link
2019-05-01 22:31:52 -07:00
Cameron Gutman
21f2b1224a
Decode directly into the audio renderer's buffer to avoid a copy
2019-05-01 21:27:41 -07:00
Cameron Gutman
2bf552f801
Batch audio frames on Steam Link to save CPU cycles
2019-04-28 12:55:04 -07:00
Cameron Gutman
477fa8fedf
Add logging callbacks for SLAudio and SLVideo
2019-04-28 11:01:54 -07:00
Cameron Gutman
b7116657d9
Add SLAudio renderer for Steam Link
2019-03-22 23:08:10 -07:00
Cameron Gutman
067f5e33aa
Increase audio buffer on Linux to 25 ms. Fixes #147 . Fixes #157 .
2019-01-06 13:49:20 -08:00
Cameron Gutman
52ef84873e
Remove excess latency control logic from SDL renderer, since it doesn't appear to work very well anyway
2019-01-06 13:28:43 -08:00
Cameron Gutman
11c7131875
Replace forgotten clamp to frameCountMax removed by e75dce2543
2019-01-03 18:49:18 -08:00
Cameron Gutman
e75dce2543
Remove one-sample-per-callback write logic to fix crackling at 44.1 KHz. Fixes #152
2019-01-03 17:23:29 -08:00
Cameron Gutman
ec2c15946a
Update audio buffering parameters based on local testing
2018-12-25 21:45:15 -08:00
Cameron Gutman
d1640e3bb8
Audio latency tweaks and fix for PulseAudio with A2DP
2018-12-25 17:54:18 -08:00
Cameron Gutman
14cb2e1999
Remove latency drop logic and replace by single frame writes
2018-12-25 14:05:17 -08:00
Cameron Gutman
b97758ef46
Switch to libsoundio on Linux now that PA works reliably after d1fe752028
2018-11-28 00:13:04 -08:00
Cameron Gutman
d1fe752028
Fix busy looping in libsoundio audio renderer when no audio is playing
2018-11-27 23:43:31 -08:00
Cameron Gutman
e182445593
libsoundio audio renderer for Windows and Mac ( #97 )
2018-10-05 19:22:57 -07:00
Cameron Gutman
3dc049ee5f
Remove automatic audio configuration permanently due to brokenness and allow renderers to request reinitialization on demand
2018-10-02 01:21:42 -07:00
Cameron Gutman
a614a693e5
Revert "Fix surround sound channel mapping on ALSA" since it can be handled inside PortAudio
2018-10-02 01:09:13 -07:00
Cameron Gutman
8dddcd04d5
Remove IAudioRenderer::testAudio() and just use IAudioRenderer::prepareForPlayback() instead
2018-10-01 19:49:08 -07:00