diff options
author | J. Dekker <jdek@itanimul.li> | 2024-02-13 08:34:26 +0100 |
---|---|---|
committer | J. Dekker <jdek@itanimul.li> | 2024-02-28 10:28:49 +0100 |
commit | 2b17a74df5fbbc87cdf7a0a784e2e088ab4afd3c (patch) | |
tree | 28f7581e5f4a1681f02cc86e7301ed16509db758 | |
parent | e4c0cdf8df96047ee195cc594a2a93443e2aa25d (diff) | |
download | ffmpeg-2b17a74df5fbbc87cdf7a0a784e2e088ab4afd3c.tar.gz |
avdevice: deprecate sdl outdev
Signed-off-by: J. Dekker <jdek@itanimul.li>
-rw-r--r-- | doc/outdevs.texi | 8 | ||||
-rw-r--r-- | libavdevice/sdl2.c | 10 | ||||
-rw-r--r-- | libavdevice/version_major.h | 2 |
3 files changed, 19 insertions, 1 deletions
diff --git a/doc/outdevs.texi b/doc/outdevs.texi index 941429a8c8..9ee857528e 100644 --- a/doc/outdevs.texi +++ b/doc/outdevs.texi @@ -408,7 +408,13 @@ ffmpeg -i INPUT -f pulse "stream name" @section sdl -SDL (Simple DirectMedia Layer) output device. +SDL (Simple DirectMedia Layer) output device. Deprecated and will be removed. + +For monitoring purposes in FFmpeg, pipes and a video player such as ffplay can be used: + +@example +ffmpeg -i INPUT -f nut -c:v rawvideo - | ffplay - +@end example "sdl2" can be used as alias for "sdl". diff --git a/libavdevice/sdl2.c b/libavdevice/sdl2.c index 342a253dc0..ec3c3d19b5 100644 --- a/libavdevice/sdl2.c +++ b/libavdevice/sdl2.c @@ -51,6 +51,7 @@ typedef struct { SDL_Rect texture_rect; int inited; + int warned; } SDLContext; static const struct sdl_texture_format_entry { @@ -165,6 +166,15 @@ static int sdl2_write_header(AVFormatContext *s) int i, ret = 0; int flags = 0; + if (!sdl->warned) { + av_log(sdl, AV_LOG_WARNING, + "The sdl output device is deprecated due to being fundamentally incompatible with libavformat API. " + "For monitoring purposes in ffmpeg you can output to a file or use pipes and a video player.\n" + "Example: ffmpeg -i INPUT -f nut -c:v rawvideo - | ffplay -\n" + ); + sdl->warned = 1; + } + if (!sdl->window_title) sdl->window_title = av_strdup(s->url); diff --git a/libavdevice/version_major.h b/libavdevice/version_major.h index da5854ed4c..6e04e0939d 100644 --- a/libavdevice/version_major.h +++ b/libavdevice/version_major.h @@ -37,5 +37,7 @@ #define FF_API_BKTR_DEVICE (LIBAVDEVICE_VERSION_MAJOR < 62) // reminder to remove the opengl device on next major bump #define FF_API_OPENGL_DEVICE (LIBAVDEVICE_VERSION_MAJOR < 62) +// reminder to remove the sdl2 device on next major bump +#define FF_API_SDL2_DEVICE (LIBAVDEVICE_VERSION_MAJOR < 62) #endif /* AVDEVICE_VERSION_MAJOR_H */ |