Ryan C. Gordon
8db2a3b27a
camera: Add an optional property that reports if a camera is back or front.
...
This is useful for iOS and Android, so an app can find the camera it cares
about in the list of devices.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
0b8617f71d
test: Fixed CMake to build testcameraminimal correctly on WinRT.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
99d1337de2
camera: Reenabled macOS/iOS support, with rewritten CoreMedia implementation.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
f8fa08d2b1
camera: Fix compiler warnings on some platforms.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
22dbc0f32f
camera: Patched to compile after rebasing to latest in main.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
7191a97fe3
camera: Windows support, through the Media Foundation API!
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
3dca8a03da
camera: Removed some debug logging.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
67708f9110
camera: Emscripten support!
...
This also adds code to deal with waiting for the user to approve camera
access, reworks testcameraminimal to use main callbacks, etc.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
182f707284
include: Fixed doxygen comments on new camera APIs.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
2cdff93578
v4l2: Corrected SDL_UDEV_AddCallback return check after #8694 .
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
0b5875825e
camera: framerate support.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
9ae39d52de
camera: Add sources to Xcode and Visual Studio projects.
...
This still needs updates to actually compile on macOS/iOS, though!
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
87e7046fca
camera: Public API functions should say "Format" not "Spec" to match audio.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
f87d536229
camera: Added more accurate timestamps.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
d3e6ef3cc6
camera: Massive code reworking.
...
- Simplified public API, simplified backend interface.
- Camera device hotplug events.
- Thread code is split up so it backends that provide own threads can use it.
- Added "dummy" backend.
Note that CoreMedia (Apple) and Android backends need to be updated, as does
the testcamera app (testcameraminimal works).
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
3d2d5d18f3
pixels: Packed-pixel YUV formats can legit report bits-per-pixel.
...
This makes the existing SDL_SoftStretch code work with them, at least for
nearest-neighbor scaling; otherwise, it'll mangle the data trying to scale
it as 8bpp data without warning.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
8e1758260c
surface: Fixed a typo in a comment.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
cb10c80aaf
camera: Reworked to operate with a driver interface, like other subsystems.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
2ad44bd162
camera: Made a pass over all the sources, cleaning up for SDL3 style, etc.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
7ae955ce68
camera: Renamed everything from "video capture" to "camera", wired to CMake.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
f49ce4a15d
camera: Renamed "video_capture" files to "camera" and moved to own subdir.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
4d000ae3bd
audio: Change references to `streams[i]` to previously-calculated `stream`.
...
Reference PR #9096 .
2024-02-20 15:30:01 -05:00
Mathieu Eyraud
751917cb6f
Fix null pointer dereference in SDL_BindAudioStreams()
2024-02-20 15:14:07 -05:00
Frank Praznik
8b6eae2d4f
cmake: Split and store the libdecor version as individual parts
...
It is becoming necessary to enable additional features as libdecor continues to evolve, and checking against a single base version will no longer be adequate. Libdecor doesn't provide versioning defines in its headers, so split the version string into parts to allow for discrete version detection and feature enablement at build time.
2024-02-20 11:28:02 -05:00
Sam Lantinga
8073f4aa1d
Pass the real error from D3D12_CreatePipelineState() back to the application
2024-02-20 06:24:20 -08:00
Sam Lantinga
376ef4e418
Fixed the WGI driver picking up Xbox controllers handled by RAWINPUT
...
The WGI driver will see them first, but the RAWINPUT driver has higher priority, so we'll defer to that when it's available.
Fixes https://github.com/libsdl-org/SDL/issues/9091
2024-02-20 06:20:32 -08:00
Ozkan Sezer
cb3a1a82d5
SDL_memcpy.c, SDL_memmove.c, SDL_memset.c: don't use gcc builtins if !HAVE_LIBC
...
__builtin_memcpy, as well as __builtin_memset and __builtin_memmove, needn't be
inlined but emitted as a libc call, leading to infinitely recursive calls.
Fixes https://github.com/libsdl-org/SDL/issues/9090
2024-02-20 01:23:18 +03:00
Sam Lantinga
bb4ec5250f
Added support for non-gamepad controllers to the GameInput driver
2024-02-17 22:32:44 -08:00
Sam Lantinga
f63f99bd2d
Setup to handle the guide button once we get an updated GameInput SDK
2024-02-17 21:55:10 -08:00
Sam Lantinga
ae8a910781
Added infrastructure for reporting GameInput touchpads
...
PlayStation controllers don't seem to report touch info, so we'll need to figure out how to interpret the touch data once it's available.
2024-02-17 21:21:54 -08:00
Sam Lantinga
ae4aa25082
Get the real GameInput device name if possible
2024-02-17 20:12:46 -08:00
Sam Lantinga
419aebebda
Added infrastructure for reporting GameInput sensors
...
IGameInputReading::GetMotionState() isn't implemented yet, so we'll need to figure out how to interpret the motion data once it's available.
2024-02-17 20:12:46 -08:00
Sam Lantinga
85ac0381b7
IGameInputDevice::GetDeviceInfo() can never return a null pointer
...
The IGameInputDevice instance can't be internally instantiated without it, so it's always guaranteed to be present.
2024-02-17 20:12:14 -08:00
Sam Lantinga
fbe4153214
The HIDAPI driver takes precedence over the GameInput driver
...
The HIDAPI driver has more functionality for supported controllers.
2024-02-17 19:13:04 -08:00
Sam Lantinga
4a59b17de2
Added infrastructure for querying battery status for GameInput
2024-02-17 19:09:29 -08:00
Sam Lantinga
fd9a4eff9f
Updated GameInput device info to match other joystick drivers
2024-02-17 17:52:48 -08:00
Sam Lantinga
8f0f14c312
Added automatic gamepad mapping for the GameInput driver
2024-02-17 17:42:32 -08:00
Sam Lantinga
eb9a7d97f9
The GameInput driver handles Xbox controllers
...
Don't let the raw input driver handle them when GameInput is active
2024-02-17 17:42:23 -08:00
Sam Lantinga
698b7deaa2
Removed GAMEINPUT_JoystickEffectDataType_HapticFeedback
...
This refers to the HID Simple Haptics spec, which is currently only implemented by the Surface Dial accessory and WMR game controllers, which aren't currently exposed by the GameInput API.
We can add support for other effects in the future, but for now we don't need this or the SDL_gameinputjoystick_c.h header.
2024-02-17 16:33:45 -08:00
Sam Lantinga
f35ede7281
Generalized the idea of joystick driver priority
...
Joystick drivers are sorted by priority in the driver list, and higher priority drivers report whether they are handling a device when lower priority drivers want to add it to their device list.
This has been handled ad-hoc with the Windows and HIDAPI drivers, but this formalizes the idea and makes sure that GameInput has the highest priority of the Windows drivers.
2024-02-17 16:06:07 -08:00
Robert Edmonds
7f33464bed
opengles2: Call glClearColor() with r,g,b,a, not r,g,g,a
2024-02-17 14:11:59 -08:00
Sam Lantinga
fee140bdfe
Added the option for GameInput support to the Win32 SDL build
...
GameInput is designed to be used by Win32 C applications, so no need to restrict it to the GDK build.
2024-02-17 14:07:42 -08:00
Nikita Krapivin
534f753e20
GameInput backend for SDL (Gamepad-only for now)
2024-02-17 11:33:51 -08:00
Sam Lantinga
7ed1f3554d
Define HAVE_LIBC for the platforms with a C library
...
Allow the Visual Studio project to define HAVE_LIBC=0 to enable building without a C runtime on Windows entirely through Visual Studio project changes.
2024-02-17 11:31:06 -08:00
Sam Lantinga
ed615e92b7
Updated automated test now that getting an invalid property isn't an error
2024-02-17 09:30:50 -08:00
Sam Lantinga
dc7baa415e
Show the window after creating the renderer
...
This hides any window recreation that might need to be done by the OpenGL renderers
2024-02-17 09:21:30 -08:00
Sam Lantinga
ff01d0b568
Fixed building without HAVE_LIBC on Windows
...
Fixes https://github.com/libsdl-org/SDL/issues/9064
2024-02-17 08:12:10 -08:00
Sam Lantinga
8ce786d2b6
Property query functions don't set an error if they return the default value
...
You can call SDL_HasProperty() if you want to check to see if a property exists.
Fixes https://github.com/libsdl-org/SDL/issues/9067
2024-02-17 07:59:04 -08:00
Sam Lantinga
202886f873
Make use of the HDR light range when playing HDR video
2024-02-16 20:05:11 -08:00
SDL Wiki Bot
317099b01f
Sync SDL3 wiki -> header
2024-02-17 03:51:21 +00:00