Anonymous Maarten
a919774fe4
Build with -Wfloat-conversion + fix all warnings
2024-06-03 21:33:29 +00:00
Ryan C. Gordon
e23257307e
Introduce formal policy for APIs that return strings.
...
This declares that any `const char *` returned from SDL is owned by SDL, and
promises to be valid _at least_ until the next time the event queue runs, or
SDL_Quit() is called, even if the thing that owns the string gets destroyed
or changed before then.
This is noted in the headers as "the SDL_GetStringRule", so this will both be
greppable to find a detailed explaination in docs/README-strings.md and
wikiheaders will automatically turn it into a link we can point at the
appropriate documentation.
Fixes #9902 .
(and several FIXMEs, both known and yet-undocumented.)
2024-06-03 14:20:49 -04:00
Ryan C. Gordon
0ec716819e
thread: Reworked SDL_CreateThread to be consistent across platforms.
...
Also documented missing and weird bits, rename typedefs to fit SDL standards.
2024-05-22 11:39:43 -04:00
Sam Lantinga
02ff85f2f3
Renamed SDL_SIMDGetAlignment() to SDL_GetSIMDAlignment()
2024-05-16 10:22:15 -07:00
Wim Taymans
55d4b44441
camera: move PipeWire camera first in list
...
If it fails, we fall back to the next one, which is v4l2.
2024-05-09 13:19:27 -07:00
Wim Taymans
a340748c06
camera: add PipeWire camera support
...
The PipeWire camera will enumerate the pipewire Video/Source nodes with
their formats.
When capturing is started, a stream to the node will be created and
frames will be captured.
2024-05-09 13:19:27 -07:00
Sam Lantinga
d4dc613559
Allow specifying only some SDL_CameraSpec fields when opening a camera
...
This allows setting the size without format, or FPS without size, etc.
2024-05-02 12:25:39 -07:00
Sam Lantinga
861815e51d
Fixed camera FPS matching
2024-05-02 12:12:20 -07:00
Sam Lantinga
33eaddc565
Cleaned up various type conversion issues
...
This makes sure SDL_PixelFormatEnum flows through the internal code correctly, as well as fixing a number of other minor issues.
2024-03-07 06:58:43 -08:00
Ryan C. Gordon
6c080717f2
camera: Reset permissions to undecided when closing camera.
...
Otherwise, the permission-granted event will not fire when reopened.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
70b89ab70d
camera: Added SDL_GetCameraDevicePosition.
...
Otherwise, as a property, you have to open each camera device to figure out
which ones are which.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
bdcddf4810
camera: Disconnected cameras become zombies that feed blank frames.
2024-02-20 15:56:26 -05:00
Ryan C. Gordon
47313bba32
camera: SDL_GetCameraDevices should not report "no devices" like an error.
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
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
0b5875825e
camera: framerate support.
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
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