Commit Graph

13473 Commits (a6854098f7792437a2fd9f34f0caa6f803106a4f)

Author SHA1 Message Date
Anonymous Maarten f002f7d12e ci: build emscripten with Debug buid type 2023-08-29 23:18:37 +02:00
Ryan C. Gordon 3699b12ed0
audio: Fixed some "is_*" variables to be cleaner and/or more specific.
Requested at https://github.com/libsdl-org/SDL/pull/8165#discussion_r1306700881_
2023-08-29 10:46:14 -04:00
Ryan C. Gordon 2471d8cc2a
audio: Fixed logic error in SDL_OpenAudioDeviceStream. 2023-08-27 19:30:47 -04:00
Anonymous Maarten 1b03a2430a testsurround: fix order of arguments of callback 2023-08-28 00:12:59 +02:00
Sam Lantinga 82db2b58f9 Renamed audio stream callback and moved the userdata parameter first
In general SDL API callbacks are called with the userdata paramter first, to mimic C++ method call convention
2023-08-27 14:43:21 -07:00
SDL Wiki Bot 5bdad5210f Sync SDL3 wiki -> header 2023-08-27 20:55:12 +00:00
Ryan C. Gordon 58c859f64d audio: Rename SDL_GetAudioStreamBinding to SDL_GetAudioStreamDevice. 2023-08-27 16:54:30 -04:00
Ryan C. Gordon efd2023a72 audio: Fixed documentation. 2023-08-27 16:54:30 -04:00
Ryan C. Gordon 1e775e0eef audio: Replace SDL_CreateAndBindAudioStream with SDL_OpenAudioDeviceStream.
This is meant to offer a simplified API for people that are either migrating
directly from SDL2 with minimal effort or just want to make noise without
any of the fancy new API features.

Users of this API can just deal with a single SDL_AudioStream as their only
object/handle into the audio subsystem.

They are still allowed to open multiple devices (or open the same device
multiple times), but cannot change stream bindings on logical devices opened
through this function.

Destroying the single audio stream will also close the logical device behind
the scenes.
2023-08-27 16:54:30 -04:00
Sam Lantinga bd088c2f99 Revert "Clarify whether an audio function expects a physical or logical device ID"
This reverts commit 506a133d84.

Physical and logical audio devices are intended to be interchangeable at the API level.
2023-08-27 13:42:20 -07:00
Brick 82e481b520 Added --randmem test parameter 2023-08-27 13:08:15 -07:00
Brick ea68bb8027 Add some additional checks to audio_convertAudio 2023-08-27 13:08:15 -07:00
Brick f8286df167 Fixed ResampleFrame_SSE doing unnecessary work 2023-08-27 13:08:15 -07:00
Brick b1d63be538 Fixed audio_resampleLoss test 2023-08-27 13:08:15 -07:00
Sam Huang c191d6c306 Better Win32 transparent window support 2023-08-27 13:06:42 -07:00
Ozkan Sezer 923d612ca1 hidapi: sync macOS code with mainstream.
this merges mainstream commit 4009466d59c41f (mainstream PR/611)
2023-08-27 22:33:32 +03:00
Ozkan Sezer 363f4fa9c1 avoid type redefinition errors after commit ee806597b9.
(Reference issue: https://github.com/libsdl-org/SDL/issues/8142)
2023-08-27 22:22:10 +03:00
Sam Lantinga 615824a806 Updated documentation now that SDL_GetAudioDevices() has been split into separate functions for output and capture devices 2023-08-26 17:30:57 -07:00
Sam Lantinga 506a133d84 Clarify whether an audio function expects a physical or logical device ID 2023-08-26 17:03:01 -07:00
Ozkan Sezer 3b1d1e4e31 hidapi: sync the hidraw changes with mainstream
Apply mainstream commit 8a4de63b (mainstream PR/601) to our hidapi.
The patch is a direct apply of the mentioned commit, with one sdl-
specific part guarded by HIDAPI_IGNORE_DEVICE adapted accordingly.
2023-08-26 08:09:10 -07:00
Ozkan Sezer f617918e0a cmake: check linkage to libusb too, instead of libusb.h presence only.
avoids false positives when using a cross-toolchain file
2023-08-26 17:03:42 +02:00
Brick 041dbd6b5f Fixed GetResamplerAvailableOutputFrames
Non-euclidean division is a pain
2023-08-26 09:04:47 -04:00
Ryan C. Gordon b49d0a607e
x11: Avoid including full Vulkan headers.
This dramatically improves compile times of the X11 backend.

Reference Issue #8142.
2023-08-25 19:45:45 -04:00
Ryan C. Gordon 4d2f9f3a32
yuv_rgb: Comment out unused code.
This drops literal seconds off compiling this one C file!

Reference Issue #8142.
2023-08-25 19:42:46 -04:00
Ryan C. Gordon 3c3486e2ac
wayland: Don't include full Vulkan headers when not necessary.
Reference Issue #8142.
2023-08-25 19:42:08 -04:00
Ryan C. Gordon f066bbe98a
x11: Don't include system headers twice.
SDL_x11dyn.h also handles this.
2023-08-25 19:41:18 -04:00
Ozkan Sezer d86d02bbbf updated dynapi after SDL_GDKGetDefaultUser addition 2023-08-25 19:03:32 +03:00
Sam Lantinga 4355f9cec5 Fixed warning C4389: '!=': signed/unsigned mismatch 2023-08-25 08:49:49 -07:00
Sam Lantinga 5755de07a6 Fixed build warnings 2023-08-25 08:45:33 -07:00
Sam Lantinga 0f80d47bbd Fixed thread-safety warning 2023-08-25 08:21:54 -07:00
Sam Lantinga ee806597b9 Removed SDL_vulkan_internal.h from SDL_sysvideo.h
Reference: https://github.com/libsdl-org/SDL/issues/8142
2023-08-25 08:18:29 -07:00
Sam Lantinga 34860b932b Fixed testautomation --filter pixels_allocFreeFormat 2023-08-25 08:06:08 -07:00
Ethan Lee 6f8a6a31ca gdk: GetBasePath should be a UTF8 version of Win32 GetBasePath 2023-08-25 10:47:16 -04:00
SDL Wiki Bot e30e5c77e6 Sync SDL3 wiki -> header 2023-08-25 14:42:25 +00:00
Ethan Lee c0cd8c8142 gdk: Add SDL_GDKGetDefaultUser, SDL_GetPrefPath implementation 2023-08-25 10:40:16 -04:00
Brick 106abce69f Refactored GetAudioStreamDataInternal buffer handling
The final conversion step should now always go straight into the output buffer.
2023-08-25 08:43:56 -04:00
Brick e44f54ec54 Avoid using hex-floats 2023-08-25 08:43:56 -04:00
Brick 5b696996cd Added ResampleFrame_SSE 2023-08-25 08:43:56 -04:00
Brick 958b3cfaea Tweaked and enabled audio_convertAudio test 2023-08-25 08:43:56 -04:00
Brick 7dbb9b65b1 audio_convertAccuracy: Shuffle the data in case of a bad SIMD implementation 2023-08-25 08:43:56 -04:00
Brick f6a4080ff5 audio_resampleLoss: Add support for multiple channels 2023-08-25 08:43:56 -04:00
Brick 4f894e748e audio_resampleLoss: SDL_GetAudioStreamData now returns the correct length 2023-08-25 08:43:56 -04:00
Brick ab83f75bb9 Make sure GetAudioStreamDataInternal is called with a valid length 2023-08-25 08:43:56 -04:00
Brick 6a73f74b6b Rebuild full ResamplerFilter (left wing + right wing) at runtime 2023-08-25 08:43:56 -04:00
Brick 0c15ce0060 Add a missing int cast 2023-08-25 08:43:56 -04:00
Brick b74ee86b1d Optimized ResampleAudio, with special cases for 1 and 2 channels
This would also benefit from some SIMD, since it's just a bunch of multiply-adds
2023-08-25 08:43:56 -04:00
Brick fba6e1e3d3 Removed ResamplerFilterDifference
It takes 1 extra multiply to calculate the correct interpolation,
but I think the improvement in cache locality (and binary size) outweighs that.
2023-08-25 08:43:56 -04:00
Brick 9f7a22fa45 Removed 64-bit handling from AudioConvertByteswap 2023-08-25 08:43:56 -04:00
Brick 1f5327a9fb Removed future_buffer, left_padding, and right_padding from SDL_AudioStream 2023-08-25 08:43:56 -04:00
Brick 71ad52d6db Lowered SDL_GetAudioStreamData to 32 KB
No particular reason for this number, but 1 MB was a bit silly
2023-08-25 08:43:56 -04:00