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).
This commit is contained in:
Ryan C. Gordon 2023-12-15 11:45:11 -05:00
parent 3d2d5d18f3
commit d3e6ef3cc6
14 changed files with 1772 additions and 1587 deletions

View file

@ -957,21 +957,18 @@ SDL3_0.0.0 {
SDL_SetWindowShape;
SDL_RenderViewportSet;
SDL_HasProperty;
SDL_GetNumCameraDrivers;
SDL_GetCameraDriver;
SDL_GetCurrentCameraDriver;
SDL_GetCameraDevices;
SDL_OpenCamera;
SDL_SetCameraSpec;
SDL_OpenCameraWithSpec;
SDL_GetCameraDeviceSupportedSpecs;
SDL_GetCameraDeviceName;
SDL_OpenCameraDevice;
SDL_GetCameraInstanceID;
SDL_GetCameraProperties;
SDL_GetCameraSpec;
SDL_GetCameraFormat;
SDL_GetNumCameraFormats;
SDL_GetCameraFrameSize;
SDL_GetNumCameraFrameSizes;
SDL_GetCameraStatus;
SDL_StartCamera;
SDL_AcquireCameraFrame;
SDL_ReleaseCameraFrame;
SDL_StopCamera;
SDL_CloseCamera;
# extra symbols go here (don't modify this line)
local: *;