src/audio


Log

Author Commit Date CI Message
Philipp Wiesemann a9d4a6b8 2014-08-11T23:18:35 Fixed typo in source comment.
Ryan C. Gordon c0f9a57f 2014-07-30T14:12:54 Fixed comment typo.
Ryan C. Gordon c5b21ea6 2014-07-30T11:11:48 SDL_GetQueuedAudioSize() shouldn't grab lock when not set up for queueing.
Ryan C. Gordon e5d49c20 2014-07-30T11:08:31 Added a GetPendingBytes method to the audio backend. This will (eventually) make SDL_GetQueuedAudioSize() more accurate, and thus reduce latency. Right now this isn't implemented anywhere, so we assume data fed to the audio callback is consumed by the hardware and immediately played to completion.
Ryan C. Gordon db1dd756 2014-07-30T09:54:01 XAudio2: Use XAUDIO2_VOICE_NOSAMPLESPLAYED when possible. For versions of XAudio2 with an IXAudio2SourceVoice::GetState() that offers a flags parameter, we can use XAUDIO2_VOICE_NOSAMPLESPLAYED, since we don't need this information in our current calls. According to MSDN, this makes the the call about 3x faster.
Ryan C. Gordon 987c3355 2014-07-22T23:12:21 Clarifying hard-to-understand piece of code.
Ryan C. Gordon f30e120a 2014-07-22T21:41:49 Added audio device buffer queueing API.
Sam Lantinga 19d878d7 2014-07-08T00:42:14 Skip JUNK chunks in wave files
Sam Lantinga 73cb234b 2014-07-07T10:38:10 Fixed compiler warning on Mac OS X
Sam Lantinga 1ee96bb9 2014-07-07T10:26:28 Fixed mingw64 build and warnings
Sam Lantinga b79e7f32 2014-07-03T15:39:55 Split the XInput and DirectInput code so Windows RT can use the existing XInput support.
Sam Lantinga cbafb158 2014-06-24T01:38:21 Fixed bug 2467 - bad memcpy in SDL_OpenAudio/open_audio_device/prepare_audiospec chain Rainer Deyke If 'SDL_OpenAudio' is called with 'obtained == NULL', 'prepare_audiospec' performs a bad 'memcpy' with the destination and source pointing to the same block of memory. The problem appears to be on in 'SDL_OpenAudio', which calls open_audio_device with 'obtained = desired' when 'obtained == NULL'. 'open_audio_device' cannot deal with 'desired' and 'obtained' pointing to the same block of memory but can deal with 'obtained == NULL'
Sam Lantinga 9f5e3ed7 2014-06-22T10:05:59 Fixed bug 1673 - BEXT wave files only have extra metadata that you can easily skip through bill In SDL_wave.c, BEXT wave files with "bext" instead of "fmt " are choked on if (chunk.magic != FMT) { SDL_SetError("Complex WAVE files not supported"); was_error = 1; goto done; } BEXT files http://en.wikipedia.org/wiki/Broadcast_Wave_Format actually playback the same as regular waves. All they have is (A LOT OF) extra header info. To open them, just SKIP the "bext" chunk, and the "fmt " chunk will be a couple of hundred bytes later. The "fmt " chunk is also bloated, but if you skip past the extra information to the "data" chunk, there is nothing different about a BEXT wave file than a "normal" one. You can then load the data and proceed as normal.
Sam Clegg 7e52722d 2014-06-20T11:10:16 Fix compiler warnings in Native Client and Linux builds.
Sam Lantinga 2a082c07 2014-06-15T17:26:30 Fixed bug 2580 - sndio backend improvements Brad Smith Attached is patch from the OpenBSD ports tree to add 24-bit support to the sndio backend and to make use of the sio_open() option SIO_DEVANY.
Ryan C. Gordon 8719a765 2014-06-10T19:39:33 Regenerated SDL_audiotypecvt.c with updated perl script.
Ryan C. Gordon 91b7fb00 2014-06-10T19:37:59 Fix audio resampling in some cases. Fixes Bugzilla #2389.
Gabriel Jacobo efa2d058 2014-06-08T18:18:13 Fixes audio for Native Client, and other fixes... - SDL_NaClMount, SDL_NaClUmount - Default mounting of https at / in SDL's main function - More documentation in README-nacl.txt
Gabriel Jacobo 1e352d79 2014-06-06T15:45:59 Chrome's Native Client backend implementation
Brandon Schaefer 1f716769 2014-06-05T15:29:23 Fix warnings, only major one being an SDL_SetError not providing enough arguments.
Sam Lantinga da6d9a9f 2014-06-04T10:56:56 Added annotations to help code analysis tools CR: Bruce Dawson
Dimitris Zenios 548a0ee7 2014-05-05T22:21:26 __ANDROID__ is the correct macro to check for an android system.ANDROID is only defined in NDK build system (.mk) and not in the standalone NDK.
David Ludwig 3dcb451f 2014-04-09T21:29:19 Added a README file regarding WinRT support To note, this file is currently formatted with CRLF line endings, rather than LF, to allow the file to be viewed with Notepad.
Ryan C. Gordon ba4b3aa9 2014-03-20T18:00:41 Patched to compile on C89 compilers, removed more streamer code.
Ryan C. Gordon 6d6fba4b 2014-03-20T17:00:33 #ifdef'd out the audio streamer code. It's been hardcoded out forever now, but I've now forcibly removed it with the preprocessor so static analysis doesn't complain about it for now. Eventually I want to rewrite or remove this code.
Ryan C. Gordon a43dbfad 2014-03-20T16:56:37 Static analysis fix: Removed unused variable. (We don't care if closing the device fails anyhow).
Sam Lantinga f9a58968 2014-03-13T21:21:26 Added missing copyright notices
Sam Lantinga 1fe7b27a 2014-03-09T12:27:31 Fixed 64-bit warnings
Sam Lantinga 1367bf87 2014-03-09T11:36:47 Integrated David Ludwig's support for Windows RT
Sam Lantinga 05c23063 2014-03-09T11:06:11 Fixed line endings on WinRT source code
James Legg d3cf7360 2014-02-21T13:57:53 Fix audio conversion when channel count changes - Use the SDL_AUDIO_MASK_DATATYPE bit when selecting an implementation where it matters. Previously two existing AUDIO_F32 cases had been written, but were unreachable. - Add AUDIO_F32 case for SDL_ConvertSurround_4. - Fix incorrect pointer arithmetic causing the 2 to 6 channel conversion for 4 byte audio formats to read and write beyond the end of the buffer.
Sam Lantinga 58edac3e 2014-02-02T00:53:27 Fixed bug 2374 - Update copyright for 2014... Is it that time already??
Ryan C. Gordon 090327e7 2013-12-09T16:03:18 Implemented the Dynamic API magic.
Gabriel Jacobo f848adff 2013-11-29T10:06:08 Improve Android pause/resume behavior.
David Ludwig 46740a5a 2013-11-28T22:09:21 WinRT: merged with latest SDL 2.x/HG code SDL 2.x recently accepted patches to enable OpenGL ES 2 support via Google's ANGLE library. The thought is to try to eventually merge SDL/WinRT's OpenGL code with SDL-official's.
Ryan C. Gordon 7e1289af 2013-11-24T23:56:17 Make internal SDL sources include SDL_internal.h instead of SDL_config.h The new header will include SDL_config.h, but allows for other global stuff.
Ryan C. Gordon 00003e8c 2013-11-14T11:51:24 Renamed things named after BeOS to be named after Haiku instead.
Ryan C. Gordon dd325b97 2013-11-14T01:00:08 Patched to compile on Haiku.
Ryan C. Gordon 7550ddcc 2013-11-13T22:35:26 Started BeOS removal: merged BeOS thread and pthread code. Haiku uses most of the standard pthread API, with a few #ifdefs where we still need to fallback onto the old BeOS APIs. BeOS, however, does not support pthreads (or maybe doesn't support it well), so I'm unplugging support for the platform with this changeset. Be Inc went out of business in 2001.
Sam Lantinga 24731317 2013-11-09T01:15:17 Updated notes about building with the Windows 8 SDK: Get the DirectX SDK.
Sam Lantinga 517886a7 2013-11-03T11:13:06 Fixed bug 2205 - SDL_GetAudioDeviceName returns default-device name on invalid index for default-device only drivers norfanin The audio_enumerateAndNameAudioDevicesNegativeTests test in testautomation_audio.c reports a failure for SDL_GetAudioDeviceName when called on a driver that has only the default device. SDL_GetNumAudioDevices reports 1, but SDL_GetAudioDeviceName does not check if the index passed by the caller is in that range in this case. For positive numbers anyway. This can be reproduced with the dummy driver on Windows and Linux.
David Ludwig 69c5d21d 2013-10-27T21:26:46 WinRT: merged with SDL 2.0.1 codebase
Sam Lantinga 08fa8da7 2013-10-20T21:56:15 Fixed bug 2129 - fix for bug 2121 breaks linking for mingw and throws multiple warnings Andreas Ertelt The problem in question is caused by changeset 7771 (http://hg.libsdl.org/SDL/rev/5486e579872e / https://bugzilla.libsdl.org/show_bug.cgi?id=2121) The redefinition of __inline__ (introduced by the addition of begin_code.h:128's "|| __STRICT_ANSI__") results in mingw's gcc throwing multiple warning: always_inline function might not be inlinable [-Wattributes] as well as a whole bunch of redefinitions of mingw internals which break linking of projects including the SDL2 headers.
Sam Lantinga f5fa492e 2013-10-20T20:42:55 Added a macro SDL_TICKS_PASSED() to correctly compare two 32-bit tick values. Went through the code and used the macro and fixed a couple places that were using incorrect timestamp comparisons.
Sam Lantinga 3f8df109 2013-10-17T23:15:27 Fixed 1598 - Mingwin build fails on src/audio/xaudio2/SDL_xaudio2.c
David Ludwig 9de76eb5 2013-09-06T19:23:42 WinRT: removed chunks of C++ hack code from SDL_xaudio2.c
David Ludwig fff78081 2013-09-06T19:07:15 WinRT: made SDL_xaudio2.c compile as C code when building for WinRT XAudio2 2.8's header file, xaudio2.h, doesn't compile in plain C code for WinRT apps, not automatically at least. Initially, this file was adapted to compile as C++, however these changes are now deprecated in favor of some preprocessor based hacks that should get xaudio2.h to compile (while making sure XAudio2 still works).
David Ludwig ac6e5a69 2013-09-04T20:20:36 WinRT: minor code cleanup in SDL_xaudio2.c
Sam Lantinga f79fc33a 2013-08-29T08:29:21 Christoph Mallon: Remove pointless if (x) before SDL_free(x)
David Ludwig 1e78c4a5 2013-08-27T12:20:35 WinRT: more "Windows RT" to "WinRT" renaming
Ryan C. Gordon faf760d2 2013-08-22T13:32:27 XAudio2/DirectSound: Use the usual Windows string convert (thanks, Norfanin!).
Gabriel Jacobo 1e49b1ed 2013-08-21T09:47:10 OCD fixes: Adds a space after /* (glory to regular expressions!)
Gabriel Jacobo 695344d1 2013-08-21T09:43:09 OCD fixes: Adds a space before */
Gabriel Jacobo 552b04c5 2013-08-20T20:34:40 More non C89 compliant comments
David Ludwig d41fdc94 2013-08-13T20:09:52 WinRT: build fixes and additional WinRT-related integrations with SDL 2.0.0
David Ludwig f7049b93 2013-08-12T22:29:55 WinRT: merged with SDL 2.0.0 codebase (aka. SDL hg rev d4ce48ff30d1)
Gabriel Jacobo dad42067 2013-08-12T11:13:50 Fixes #2022, do not resume on Android when surfaceChanged If the app is in landscape mode and the user presses the power button, a pause is followed immediately by a surfaceChanged event because the lock screen is shown in portrait mode. This triggers a "false" resume. So, we just pause and resume following the onWindowFocusChanged events. Also, wait for SDL_APP_WILLENTERBACKGROUND and SDL_APP_DIDENTERBACKGROUND before blocking the event pump.
Sam Lantinga 1ad936eb 2013-08-11T19:56:43 Fixed bug 2027 - Full-screen appears to be broken - hang in SDL_DestroyWindow() Rainer Deyke I'm running Linux Mint 15 with the Cinnamon window manager. SDL_DestroyWindow consistently locks up for me when the window if fullscreen.