[FFmpeg-devel] [PATCH 0/2] Remove SDL2 output devices

Stefano Sabatini stefasab at gmail.com
Mon Feb 5 02:02:20 EET 2024


On date Sunday 2024-02-04 10:02:31 +0100, J. Dekker wrote:
> With the addition of threading in ffmpeg.c, the SDL2 devices no longer have the
> 'main' thread. This means that both the SDL2 and OpenGL output device are broken
> in master. Rather than attempting to fix it, they should be removed instead as
> there are better alternatives for debugging or viewing streams.
> 
> The 'pipe:' output can be used with a real video player such as mpv, vlc, or
> even ffplay. For cases where the user was an application using the API they
> should supply their own renderer.
> 
> J. Dekker (2):
>   avdevice: remove sdl2 outdev
>   avdevice: remove OpenGL device

I am against this.

1. If at all, the devices should be deprecated and removed only after a
given timeframe, so users can switch to something else (you don't know
what they are using).

2. > With the addition of threading in ffmpeg.c, the SDL2 devices no longer have the
   > 'main' thread. 

This implies a misunderstanding of what these components are. If
they are broken with ffmpeg.c this is not a good reason to remove
them (ffmpeg.c is not the only user).

Also, it was already suggested some way to fix it, it's not like they
are "broken by design", it is just that the assumptions done
previuosly apply no more. Probably ffmpeg.c should not use the main
thread or make this selectable. If this cannot be supported in a given
OS, the feature should be disabled only for that OS.


More information about the ffmpeg-devel mailing list