[FFmpeg-devel] [PATCH 1/2] avdevice: deprecate opengl outdev
Anton Khirnov
anton at khirnov.net
Thu Feb 15 18:20:01 EET 2024
Quoting J. Dekker (2024-02-13 08:34:25)
> Signed-off-by: J. Dekker <jdek at itanimul.li>
> ---
>
> These devices are fundamentally broken and usecases should be switched
> away from output devices in general. Discussion in the thread tended towards
> deprecation rather than immediate removal to give time for users to figure out
> the best alternatives for their usecase.
>
> libavdevice/opengl_enc.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/libavdevice/opengl_enc.c b/libavdevice/opengl_enc.c
> index b2ac6eb16a..0c81ccc1c4 100644
> --- a/libavdevice/opengl_enc.c
> +++ b/libavdevice/opengl_enc.c
> @@ -224,6 +224,8 @@ typedef struct OpenGLContext {
> int picture_height; ///< Rendered height
> int window_width;
> int window_height;
> +
> + int warned;
> } OpenGLContext;
>
> static const struct OpenGLFormatDesc {
> @@ -1060,6 +1062,14 @@ static av_cold int opengl_write_header(AVFormatContext *h)
> AVStream *st;
> int ret;
>
> + if (!opengl->warned) {
> + av_log(opengl, AV_LOG_WARNING,
> + "The opengl output device is deprecated. For monitoring purposes in ffmpeg you can output to a file or use pipes and a video player.\n"
Besides Marton's comment, this could also elaborate a little on why it
is deprecated, e.g. "...due to being fundamentally incompatible with
libavformat API".
Also, could add a removal remind to version_major.h, similar to
FF_CODEC_CRYSTAL_HD.
Other than those, looks good to me.
--
Anton Khirnov
More information about the ffmpeg-devel
mailing list