I love the SDL3 Camera API, it’s working flawlessly* on a Lenovo laptop running ElementaryOS. I’ve written myself a GUI to enumerate cameras and their available formats, open a live window, save images to disk on demand.
*Well, 2 out of 3 cameras are working, the third returns an empty name and no formats, but it’s an old USB webcam (Logitech? 15+ years old?) and I’m not upset if ElementaryOS in 2025 is incompatible with it.
However the same code on Windows is giving me empty-black surfaces at best (usually if I leave targetspec NULL), or crashing at worst (Invalid Memory Access, usually if I specify a targetspec).
Details: It’s another Lenovo laptop running Windows 7 (old-ish, I know, but should work), I’m using the x86 SDL3.dll v3.2.0. Three webcams (integrated “Lenovo EasyCamera”, USB “Microsoft LifeCam Cinema”, and Logitech “USB Video Device”) and their formats all enumerate correctly. But upon opening them, I get crashes within seconds. I believe I also tried the x64 DLL and built 64-bit program, no success.
At first I was copying the “camera-read-and-draw” SDL3 example: open camera, acquire surfaces, apply them to texture, render in window. Works as expected on Linux/Elementary, crashing on Windows.
I progressively trimmed down the program: got rid of window and renderer and texture, even got rid of AcquireCameraFrame completely. My Windows program just crashes within seconds of OpenCamera.
I haven’t 100% proven this is an SDL problem or my own. Any advice? Unfortunately I am using the pre-compiled DLL and wrapping it in another language, so I don’t have much debugging access.
Could anybody with Windows (7?) and some webcams test the SDL3 Camera examples via the x86/x64 DLLs?
A final note, the in-browser “read-and-draw” web example is not working for me either, on that Lenovo Windows 7 laptop. I don’t get crashes, but I get “Couldn’t find any camera devices”. Whereas eg. webcamtests.com can enumerate, open, and render them.
Thanks for hearing me out.