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

@ -982,19 +982,16 @@
#define SDL_SetWindowShape SDL_SetWindowShape_REAL
#define SDL_RenderViewportSet SDL_RenderViewportSet_REAL
#define SDL_HasProperty SDL_HasProperty_REAL
#define SDL_GetNumCameraDrivers SDL_GetNumCameraDrivers_REAL
#define SDL_GetCameraDriver SDL_GetCameraDriver_REAL
#define SDL_GetCurrentCameraDriver SDL_GetCurrentCameraDriver_REAL
#define SDL_GetCameraDevices SDL_GetCameraDevices_REAL
#define SDL_OpenCamera SDL_OpenCamera_REAL
#define SDL_SetCameraSpec SDL_SetCameraSpec_REAL
#define SDL_OpenCameraWithSpec SDL_OpenCameraWithSpec_REAL
#define SDL_GetCameraDeviceSupportedSpecs SDL_GetCameraDeviceSupportedSpecs_REAL
#define SDL_GetCameraDeviceName SDL_GetCameraDeviceName_REAL
#define SDL_OpenCameraDevice SDL_OpenCameraDevice_REAL
#define SDL_GetCameraInstanceID SDL_GetCameraInstanceID_REAL
#define SDL_GetCameraProperties SDL_GetCameraProperties_REAL
#define SDL_GetCameraSpec SDL_GetCameraSpec_REAL
#define SDL_GetCameraFormat SDL_GetCameraFormat_REAL
#define SDL_GetNumCameraFormats SDL_GetNumCameraFormats_REAL
#define SDL_GetCameraFrameSize SDL_GetCameraFrameSize_REAL
#define SDL_GetNumCameraFrameSizes SDL_GetNumCameraFrameSizes_REAL
#define SDL_GetCameraStatus SDL_GetCameraStatus_REAL
#define SDL_StartCamera SDL_StartCamera_REAL
#define SDL_AcquireCameraFrame SDL_AcquireCameraFrame_REAL
#define SDL_ReleaseCameraFrame SDL_ReleaseCameraFrame_REAL
#define SDL_StopCamera SDL_StopCamera_REAL
#define SDL_CloseCamera SDL_CloseCamera_REAL