Skip to content

Commit

Permalink
avdevice: deprecate opengl outdev
Browse files Browse the repository at this point in the history
Signed-off-by: J. Dekker <jdek@itanimul.li>
  • Loading branch information
jdek committed Feb 28, 2024
1 parent 570052c commit e4c0cdf
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 1 deletion.
2 changes: 1 addition & 1 deletion doc/outdevs.texi
Expand Up @@ -302,7 +302,7 @@ ffmpeg -re -i INPUT -c:v rawvideo -pix_fmt bgra -f fbdev /dev/fb0
See also @url{http://linux-fbdev.sourceforge.net/}, and fbset(1).

@section opengl
OpenGL output device.
OpenGL output device. Deprecated and will be removed.

To enable this output device you need to configure FFmpeg with @code{--enable-opengl}.

Expand Down
11 changes: 11 additions & 0 deletions libavdevice/opengl_enc.c
Expand Up @@ -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 {
Expand Down Expand Up @@ -1060,6 +1062,15 @@ 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 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"
);
opengl->warned = 1;
}

if (h->nb_streams != 1 ||
par->codec_type != AVMEDIA_TYPE_VIDEO ||
(par->codec_id != AV_CODEC_ID_WRAPPED_AVFRAME && par->codec_id != AV_CODEC_ID_RAWVIDEO)) {
Expand Down
2 changes: 2 additions & 0 deletions libavdevice/version_major.h
Expand Up @@ -35,5 +35,7 @@

// reminder to remove the bktr device on next major bump
#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)

#endif /* AVDEVICE_VERSION_MAJOR_H */

0 comments on commit e4c0cdf

Please sign in to comment.