Anonymous Maarten
98da2dd303
SDL_test: don't warn about expected allocations when running with --trackmem
...
Since 9f4baeea53 , the TLS storage is cleaned up when running SDL_Quit().
2023-09-19 17:58:25 +02:00
Sam Lantinga
6a381567b0
Support audio rate conversion up to 384KHz
2023-09-18 22:21:54 -07:00
Sam Lantinga
b2b548a1fc
Don't hang if IAudioRenderClient_GetBuffer() fails indefinitely
2023-09-18 20:55:28 -07:00
Sam Lantinga
a3a5e17282
Fixed build warning '=': conversion from 'Uint32' to 'Uint16', possible loss of data
2023-09-18 13:56:51 -07:00
Sam Lantinga
6d3e21c27c
Fixed android build warnings
2023-09-18 13:22:15 -07:00
Sam Lantinga
fca2f53189
Fixed warning: this function declaration is not a prototype
2023-09-18 13:09:28 -07:00
Sam Lantinga
a72dfa6a5f
Fixed sensor timestamp units for third-party PS5 controllers
2023-09-18 12:55:43 -07:00
Sam Lantinga
f6756047a4
Fixed error: array subscript 2 is above array bounds of ‘const Uint8[2]’
...
Smart compilers don't like dereferencing off the end of arrays
2023-09-18 12:19:18 -07:00
Sam Lantinga
7059a55ccc
Fixed sensor timestamp calculation for third-party PS5 controllers
2023-09-18 11:50:56 -07:00
Sam Lantinga
c0443e5d12
Fixed crash in SDL_IMMDevice_FindByDevID()
...
Either devid or handle->immdevice_id was NULL, crashing SDL_wcscmp()
2023-09-18 09:47:57 -07:00
Sam Lantinga
fde8499f69
Use around 20ms for the audio buffer size
...
This value is well tested in production software. Larger values introduce audio latency and smaller values cause underflows on many setups.
2023-09-18 09:25:56 -07:00
Frank Praznik
e5739d7d1f
video: Remove SDL_GetFocusWindow()
...
It was rarely used and performed an identical function to SDL_GetKeyboardFocus(), but with worse time complexity.
2023-09-18 11:14:42 -04:00
Mathieu Eyraud
39c2f97373
Fix NULL dereference in SDL_OpenAudio
2023-09-18 09:44:59 -04:00
Brick
a62e62f97a
Refactored SDL_audiocvt.c
2023-09-17 13:13:23 -07:00
Guldoman
65aaf3a9ab
x11: Always update clipboard owner
...
This allows utilities like clipboard managers to keep track of the
changes.
2023-09-15 05:21:14 -07:00
Sam Lantinga
f622f21e6f
Fixed build
2023-09-15 05:17:33 -07:00
Sam Lantinga
5774c9638c
Prefer hidraw over libusb when libusb whitelisting is not enabled
...
Since opening devices via libusb will unbind them from other drivers, we will either whitelist specific devices that we want to support via libusb or we will prefer other drivers over libusb.
2023-09-15 05:14:26 -07:00
Sam Lantinga
9301f7ace2
hidapi/libusb: only enumerate each interface once
...
If a device has multiple altsettings, like an Xbox Series X controller, make sure we only enumerate each interface once, not once for each altsetting.
2023-09-15 05:07:05 -07:00
Sam Lantinga
859dc14add
Replaced SDL_GetGamepadBindForAxis() and SDL_GetGamepadBindForButton() with SDL_GetGamepadBindings()
2023-09-13 23:01:28 -07:00
Sam Lantinga
9e50048ab6
Revert "Removed SDL_GamepadBinding from the API"
...
This reverts commit eb0955ef89 .
2023-09-13 22:42:47 -07:00
Ryan C. Gordon
2f43f7bc53
audio: Allow querying of device buffer size.
2023-09-13 11:03:17 -04:00
Ryan C. Gordon
cf95721130
audio: Added a hint to let apps force device buffer size.
...
This is a hint because apps might (probably mistakenly) believe they need this
to migrate from SDL2, but most things don't need to specify this.
2023-09-13 10:42:08 -04:00
Ryan C. Gordon
47d8c77c67
audio: Choose better default sample frame counts.
...
This might still need tweaking, but this is probably better than it was.
2023-09-13 10:27:11 -04:00
Ryan C. Gordon
8b26e95f91
audio: Change SDL_AudioStreamCallback
...
Now it offers the total requested bytes in addition to the amount
immediately needed (and immediately needed might be zero if the stream
already has enough queued to satisfy the request.
2023-09-13 10:11:23 -04:00
Max Bachmann
fd1c54a004
detect fanatec steering wheels
2023-09-12 15:35:35 -07:00
Sam Lantinga
cd633b9a88
Renamed SDL_IsAudioDevicePaused() to SDL_AudioDevicePaused()
...
This aligns with the SDL3 convention of removing "Is" from self-explanatory function names
Also improved some documentation in SDL_audio.h
2023-09-12 12:11:09 -07:00
Dan Ginsburg
2de2e9d031
Fix flickering of window when using desktop-fullscreen and borderless window on multiple monitors on Linux. Closes #8186 .
2023-09-12 07:37:39 -07:00
danginsburg
723835d16a
Windows: fix for client rect resizing larger each time we came from exclusive fullscreen -> windowed on a monitor with HiDPI set. The problem was we were using the monitor DPI rather than the window DPI so AdjustWindowRectExForDpi was giving us an incorrect size which would be too large for the client rect. Closes #8237 .
2023-09-12 07:36:55 -07:00
Sam Lantinga
1d1c6e6305
Turn off COREAUDIO debug logging by default
2023-09-11 09:03:48 -07:00
Frank Praznik
52efefca04
wayland: Fix drag offer leak
...
The data device leave function is intended for drag offers, not selections, and the function as was previously written was a no-op.
2023-09-09 18:49:47 -04:00
Ryan C. Gordon
3a992af446
audio: Added a postmix callback to logical devices.
...
You can see it in action in testaudio by mousing over a logical device; it
will show a visualizer for the current PCM (whatever is currently being
recorded on a capture device, or whatever is being mixed for output on
playback devices).
Fixes #8122 .
2023-09-09 16:26:37 -04:00
Simon McVittie
7207bdce5d
render: Enable clipping for zero-sized rectangles
...
Battle for Wesnoth apparently relies on being able to disable rendering
of UI elements by setting the clip rectangle to be empty.
Resolves: https://github.com/libsdl-org/SDL/issues/6896
Fixes: 00f05dcf "render: only enable clipping when the rectangle is valid"
Signed-off-by: Simon McVittie <smcv@collabora.com >
2023-09-09 11:12:55 -07:00
Ryan C. Gordon
fafbea1ced
audio: Move internal float32 mixing to a simplified function
2023-09-07 10:48:04 -04:00
Ryan C. Gordon
38c8fc05c5
audio: Remove ChooseMixStrategy.
...
This is adds complexity and fragility for small optimization wins.
The biggest win is the extremely common case of a single stream providing
the only output, so we'll check for that and skip silencing/mixing/converting.
Otherwise, just use a single mixer path.
2023-09-07 10:44:30 -04:00
Frank Praznik
37e1fc3b58
wayland: Ensure that the toplevel window is recreated when switching decoration modes
...
If a compositor tries to change the decoration mode when initially creating a window, the hidden flag might not yet be unset if the decoration mode is changed during the initial roundtrip in Wayland_ShowWindow(). As hiding the window destroys the decoration manager object, the hidden flag check is unnecessary, as the decoration configuration listener will never be entered when the window is hidden.
2023-09-06 13:35:44 -04:00
Brick
f2ca9a615b
Added SDL_AUDIO_FRAMESIZE
2023-09-05 17:56:58 -07:00
Brick
53122593f8
Added SDL_AUDIO_BYTESIZE
2023-09-05 17:56:58 -07:00
Makarenko Oleg
a2c1984d37
Detect Simagic wheel bases as wheels ( #8198 )
...
Simagic DirectDrive wheel bases have the same vendor + product id's
2023-09-04 12:11:13 -07:00
Ozkan Sezer
1d8dfbb223
avoid type redefinition errors after PR/8181
2023-09-04 21:29:40 +03:00
Oleg
266b91d2fd
Detect Logitech G923 Playstation as wheel
...
G923 have two different versions - Xbox version is already present in the wheel list, but not the PS version.
2023-09-04 11:05:28 -07:00
Oleg
cde67ea49a
Detect Logitech PRO Racing Wheel for Xbox (PC mode) as wheel
...
Logitech PRO Racing Wheel have two different versions - for Playstation and Xbox. Vendor + Product ID for Playstation version already present in SDL sources, but not an Xbox version
2023-09-04 11:01:17 -07:00
Sam Lantinga
3a932141e4
Restore audio format binary compatibility with SDL 2.0
2023-09-04 10:16:53 -07:00
Sam Lantinga
233789b0d1
Audio types have the same naming convention as other SDL endian types, e.g. [S|U][BITS][LE|BE]
...
Native endian types have no LE/BE suffix
2023-09-04 09:48:44 -07:00
Brick
0e552761b7
Renamed AudioStreamSpeed to AudioStreamFrequencyRatio
2023-09-04 07:46:18 -07:00
Brick
47bcb078f5
Fixed some incorrect SDL_AUDIO_F32 uses
2023-09-04 07:46:18 -07:00
Sam Lantinga
825d344756
Make sure that the same timestamp is used for all PS5 events from the same packet
2023-09-01 17:49:39 -07:00
Brick
9c1430324c
Removed SDL_dataqueue
2023-09-01 14:38:45 -04:00
Brick
a59152688a
Try and avoid overflow when handling very large audio streams
2023-09-01 14:38:45 -04:00
Brick
5394a805f4
Improved testaudiostreamdynamicresample
...
Tweaked color palette
2023-09-01 14:38:45 -04:00
Brick
e55844274d
Added SDL_(Get|Set)AudioStreamSpeed
2023-09-01 14:38:45 -04:00