Simple DirectMedia Layer https://libsdl.org
Find a file
Vicki Pfau ab6dd970ac camera: Don't try to fake entire range for FRMIVAL_TYPE_CONTINUOUS
V4L2 is able to advertise that a video device is able to display any frame
interval within a continuous range. SDL does not allow advertising this and
only exposes discrete frame intervals. To work around this, SDL attempted to
generate a subset of the range with a fixed interval. Unfortunately, the way
this was accomplish is inherently broken and led to attempting to allocate a
very large number of formats per resolution and colorspace. With the Magewell
Pro Capture HDMI, which can expose FRMSIZE_TYPE_CONTINUOUS as well, this can
expose a truly astronomical number of formats, exceeding 1 PB of RAM. This will
lead to an OOM kill for any process that tries to initialize the camera
subsystem.

This patch just tests to see if some common frame rates are within the
contiuous range and expose those. SDL still does not handle
FRMSIZE_TYPE_CONTINUOUS in a graceful way so it still uses over a gigabyte of
RAM for each possible combination of sizes, but with this patch it no longer
leads to an OOM kill. The API will need amending for proper support for both
continuous frame sizes and frame intervals.
2026-02-24 06:54:31 -08:00
.github Support building for ARM64 with the MSVC project 2026-01-19 10:16:35 -08:00
android-project Fixed detection of the "Android TV Box" as a TV 2026-02-16 12:34:54 -08:00
build-scripts CodeSpell 2026-02-07 18:14:00 +03:00
cmake ci: add CFLAGS to pkg-config link command 2026-02-20 11:20:43 -08:00
docs Sync SDL3 wiki -> header 2026-02-23 16:15:38 +00:00
examples examples: Make source code and console tabs take 80% of browser page. 2026-02-16 14:26:51 -05:00
include Sync SDL3 wiki -> header 2026-02-22 00:07:28 +00:00
src camera: Don't try to fake entire range for FRMIVAL_TYPE_CONTINUOUS 2026-02-24 06:54:31 -08:00
test test: Add testgpu_spinning_cube_xr (#14943) 2026-02-23 11:14:19 -05:00
VisualC testtray: created VS project and added new click callbacks 2026-02-05 11:08:05 -08:00
VisualC-GDK Added support for the GameSir-G7 Pro 8K controller 2026-02-03 20:09:04 -08:00
wayland-protocols CodeSpell 2026-02-07 18:14:00 +03:00
Xcode Hiding OpenGLES API deprecation since iOS 12.0 warning 2026-02-15 10:57:07 -08:00
.clang-format Add 'wl_list_for_each_safe' to the clang-format macro list 2024-03-14 10:22:23 -04:00
.clang-tidy Fix size of memcpy in SDL_AudioDeviceFormatChangedAlreadyLocked 2023-08-05 14:14:45 -04:00
.editorconfig .editorconfig: Remove excess apostrophe at *.cocci 2024-06-16 09:18:17 -07:00
.gitignore Updated .gitignore for png test data 2025-10-10 08:59:27 -07:00
.wikiheaders-options wikiheaders: Generate a current list of supported environment variables. 2025-09-02 15:49:52 -04:00
Android.mk GPU: OpenXR integration (#14837) 2026-01-30 17:18:51 -05:00
BUGS.txt Added a Discord link to BUGS.txt 2025-01-13 16:42:50 -08:00
CMakeLists.txt CodeSpell 2026-02-07 18:14:00 +03:00
CREDITS.md Updated the credits for SDL 3.0 2025-01-13 16:42:50 -08:00
INSTALL.md Add a link to docs/INTRO-mingw.md 2025-03-06 16:25:17 -08:00
LICENSE.txt Updated copyright for 2026 2026-01-01 09:40:08 -08:00
README.md Revert "Update README.md" 2025-11-16 01:15:10 +03:00
WhatsNew.txt Added SDL_HINT_MOUSE_DPI_SCALE_CURSORS 2025-12-09 17:12:08 -08:00

Simple DirectMedia Layer (SDL for short) is a cross-platform library designed to make it easy to write multi-media software, such as games and emulators.

You can find the latest release and additional information at: https://www.libsdl.org/

Installation instructions and a quick introduction is available in INSTALL.md

This library is distributed under the terms of the zlib license, available in LICENSE.txt.

Enjoy!

Sam Lantinga (slouken@libsdl.org)