Ryan C. Gordon
9dde37eadb
sndio: Fix for some platforms (Linux, for example) that don't define INFTIM.
...
Fixes Bugzilla #3712 .
2017-08-07 00:25:18 -04:00
Ryan C. Gordon
a09efc73d2
psp: Force audio channels to stereo if > 2 channels requested (thanks, Solra!).
...
Fixes Bugzilla #3726 .
2017-08-04 16:18:34 -04:00
Philipp Wiesemann
68ca9d9ed1
qnx: Fixed error message.
2017-07-29 23:00:45 +02:00
Philipp Wiesemann
cea33bf5b8
aix: Removed unused local variable.
...
Found by Cppcheck.
2017-07-29 23:00:34 +02:00
Sam Lantinga
77ca0f273c
Fixed crash if the WASAPI audio device couldn't be recovered
2017-07-27 22:55:18 -07:00
Sam Lantinga
4a734209a3
Fixed infinite recursion if the WASAPI audio device couldn't be recovered
2017-07-27 22:52:19 -07:00
Sam Lantinga
f033ce61e1
Fixed typo in WASAPI shutdown code
2017-07-27 02:41:58 -07:00
Ryan C. Gordon
03eaddcad4
Fixed compiler warnings on QNX.
2017-07-23 19:25:16 -04:00
Ryan C. Gordon
8ac17a2ae6
sndio: fixed poll() call (thanks, kdrakehp!).
...
Fixes Bugzilla #3705 .
2017-07-20 20:40:17 -04:00
Ryan C. Gordon
ee9cc32493
sndio: More improvements to the OpenBSD audio target (thanks, kdrakehp!).
...
Fixes Bugzilla #3705 .
2017-07-20 18:16:02 -04:00
Sam Lantinga
2cc6806472
Fixed bug 3705 - Add capture support to the sndio backend
...
kdrakehp
The attached patch adds capture support to the sndio backend.
The patch also allows the `OpenDevice' function to accept arbitrary device names.
2017-07-20 10:39:47 -07:00
Philipp Wiesemann
fb9c2939c2
qnx: Fixed setting a field twice.
2017-07-07 23:00:10 +02:00
Ryan C. Gordon
1683a0c106
audio: trying to pacify static analysis.
2017-07-05 12:04:37 -04:00
Philipp Wiesemann
9f99b3d7ee
aix: Fixed audio debug output.
...
DEBUG_AUDIO is checked with #ifdef not #if.
2017-07-02 22:46:49 +02:00
Philipp Wiesemann
4366721b46
qnx: Removed unused bootstrap declaration.
...
QNX_bootstrap is the VideoBootStrap. QSAAUDIO_bootstrap is still there.
2017-07-02 22:46:00 +02:00
Ryan C. Gordon
22241ed0b0
Support for QNX 7.0 (thanks, Elad!).
...
Fixes Bugzilla #3686 .
2017-07-01 17:50:47 -04:00
Philipp Wiesemann
380e0693b1
aix: Fixed compile error.
2017-07-01 23:01:49 +02:00
Philipp Wiesemann
4c190ce584
netbsd: Fixed comment.
2017-07-01 23:00:07 +02:00
Philipp Wiesemann
4c48260ca2
netbsd: Removed unused field.
2017-06-29 23:00:18 +02:00
Philipp Wiesemann
7bb6b402c2
netbsd: Fixed compile error.
2017-06-29 23:00:09 +02:00
Ryan C. Gordon
a509719fc3
audio: Converter now checks a strict list of channels and formats we support.
2017-06-12 21:35:24 -04:00
Sam Lantinga
553b328664
Fixed bug 3668 - Overflow of SDL_AudioCVT.filters with some downmixes
...
Simon Hug
There's a chance that an audio conversion from many channels to a few can use more than 9 audio filters. SDL_AudioCVT has 10 SDL_AudioFilter pointers of which one has to be the terminating NULL pointer. The SDL code has no checks for this limit. If it overflows there can be stack or heap corruption or a call to 0xa.
Attached patch adds a function that checks for this limit and throws an error if it is reached. Also adds some documentation.
Test parameters that trigger this issue:
AUDIO_U16MSB with 224 channels at 46359 Hz
V
AUDIO_S16MSB with 6 channels at 27463 Hz
The fuzzer program I uploaded in bug 3667 has more of them.
2017-06-12 16:39:15 -07:00
Ryan C. Gordon
325330efdb
jack: removed accidental copy/paste.
2017-06-09 17:37:43 -04:00
Ryan C. Gordon
58f08af46c
jack: added capture support.
2017-06-09 00:47:47 -04:00
Ryan C. Gordon
c39fd5777d
jack: Move jack_client_t into the audio device instead a global variable.
2017-06-09 00:14:50 -04:00
Ryan C. Gordon
b65e0777ce
jack: Remove BROKEN_MULTI_DEVICE code.
2017-06-08 22:20:49 -04:00
Ryan C. Gordon
d9039f2396
jack: Initial shot at a JACK audio target.
...
http://jackaudio.org/
Fixes Bugzilla #2163 .
(with several more commits following to improve this code.)
2017-06-08 13:27:58 -04:00
Philipp Wiesemann
63b3e06f75
Corrected names of header file guards.
2017-06-03 23:00:15 +02:00
Philipp Wiesemann
fc510bd798
nacl: Fixed crash if allocating memory for audio device failed.
2017-05-28 21:50:47 +02:00
Philipp Wiesemann
7c5078d8bd
qnx: Removed unnecessary check for available audio devices.
2017-05-28 21:50:37 +02:00
Philipp Wiesemann
1e60ea76db
qnx: Removed unnecessary call to SDL_zerop() after SDL_calloc().
2017-05-28 21:50:27 +02:00
Ryan C. Gordon
e5918acf46
wasapi: properly report init failure if on pre-Vista version of Windows.
...
We really should change the Init interface to return 0 on success and -1 on
error, like everything else, to avoid this sort of confusion.
2017-05-28 00:41:55 -04:00
Philipp Wiesemann
3639895eac
Removed unused errno includes.
2017-05-27 23:30:07 +02:00
Philipp Wiesemann
759319729c
emscripten: Fixed compiling on C89 compilers.
2017-05-26 22:45:40 +02:00
Ryan C. Gordon
a7fc2822d4
audio: rename bsd target to netbsd.
...
Apparently this is no longer a generic BSD audio target, and hasn't been for
years, so rename it for NetBSD.
2017-05-24 19:56:59 -04:00
Ryan C. Gordon
6844d92c23
coreaudio: we don't need to track number of allocated audio buffers anymore.
...
CoreAudio takes care of iterating through the buffers and freeing them now,
so we don't have to manage this ourselves.
2017-05-24 13:28:13 -04:00
Ryan C. Gordon
fc4402e5ff
coreaudio: Better handling of audio buffer queue management.
...
We don't fill buffers just to throw them away during shutdown now, we let the
AudioQueue free its own buffers during disposal (which fixes possible warnings
getting printed to stderr by CoreAudio), and we stop the queue after running
any queued audio during shutdown, which prevents dropping the end of the
audio playback if you opened the device with an enormous sample buffer.
Fixes Bugzilla #3555 .
2017-05-24 13:25:31 -04:00
Ryan C. Gordon
3fd35f6bb0
coreaudio: looks like we need more like a 10ms buffer minimum, not 50ms.
2017-05-24 01:28:03 -04:00
Ryan C. Gordon
793c788b1c
coreaudio: dynamically allocate AudioQueueBuffers.
...
We need more than two buffers to flip between if they are small, or CoreAudio
won't make any sound; apparently it needs X milliseconds of audio queued when
it needs to play more or it drops any queued buffers. We are currently
guessing 50 milliseconds as a minimum, but there's probably a more proper
way to get the minimum time period from the system.
Fixes Bugzilla #3656 .
2017-05-24 00:12:22 -04:00
Ryan C. Gordon
91e6054b03
wasapi: don't mark capture devices as failed for AUDCLNT_S_BUFFER_EMPTY.
...
Fixes Bugzilla #3633 .
2017-05-19 12:40:55 -04:00
Ryan C. Gordon
81ab6c98fd
Patched to compile on Windows.
2017-05-18 16:27:36 -04:00
Ryan C. Gordon
13b6d9959a
wasapi: Replace tabs with strings in source code.
2017-05-18 15:46:06 -04:00
Ryan C. Gordon
adabc38439
wasapi: Deal with AUDCLNT_S_BUFFER_EMPTY when flushing audio device.
2017-05-18 15:43:51 -04:00
Ryan C. Gordon
4073a6694f
audio: One more callbackspec fix (thanks, Simon!).
2017-05-18 15:33:17 -04:00
Ryan C. Gordon
c878b59bbe
audio: fixed more "spec" references that should have been "callbackspec".
...
This should catch all the ones for audio targets that have provided their
own audio threads.
2017-05-10 16:18:43 -04:00
Alex Szpakowski
75fb07a6d2
iOS: Only mark interrupted audio devices as non-interrupted if AudioQueueStart is successful.
2017-05-03 18:05:29 -03:00
Ryan C. Gordon
226541cb5b
audio: another wrong struct that causes NULL pointer crash (thanks, Simon!).
...
Fixes Bugzilla #3632 .
2017-04-26 01:43:40 -04:00
Juha Kuikka
7382cebb41
audio: Fix audio queue functions to use new spec structure.
...
Using the old spec structure causes the audio queueing functions to fail
due to bad callback pointers being checked.
2017-04-20 21:25:29 -04:00
Sam Lantinga
d20d426c3a
Fix crash in SDL audio thread, by Juha Kuikka
...
Wrong audio spec structure was populated with the internal callback, causing the audio thread to call a NULL pointer.
2017-04-18 22:17:40 -07:00
Ryan C. Gordon
028716e79f
wasapi: deal with default device changes, and more robust failure recovery.
2017-03-30 16:33:47 -04:00