[vlc-devel] [PATCH 09/39] vout: request the display with a decoder device

Steve Lhomme robux4 at ycbcr.xyz
Mon Oct 7 09:59:53 CEST 2019

On 2019-10-05 11:21, Rémi Denis-Courmont wrote:
> Le perjantaina 4. lokakuuta 2019, 12.47.01 EEST Alexandre Janniaux a écrit :
>> Hi,
>> That's indeed a pivotal point to tackle, but it's probably not an
>> issue in this design.
>> The main point of window providing is that you don't have to actually
>> close the native window when the vout_window is closed by the core.
>> Audio visualization are creating a vout_thread, which creates a window
>> so this doesn't conflict with this AFAIK.
> An audio visualisation may create a video output as a helper to output
> bitmaps, but that is an implementation detail of the audio visualisation plug-
> in and indeed some (GL-based) don't create a video output already now.

And they wouldn't use a decoder device either.

> Obviously if the window or the window allocator would have to be supplied to
> both the audio side for visualisation and the video side for video output. But
> the window can be (and already sometimes is) used without a video output. So
> it seems unavoidable that the video output is created from the window and not
> vice-versa.

I don't disagree, but it doesn't change much on the 
decoder/filter/display side on which I'm working on. The vout/window 
handling can be changed in parallel. It won't change the fact that the 
"decoder device" needs the window it will be in (at least for VAAPI) or 
that the decoder will need a vout to write to (and push a video context).

> Back to the decoder device, it comes down to maximizing commonality between
> the different decoder use cases. As far as I can guess, there's more
> opportunity for sharing code if the decoder device comes from the window to
> the decoder, and then *from* the decoder to the video output rather than from
> the video output to the decoder. Simply because we will eventually have
> decoder device without video output.

It will be the case in transcode for example. This is already handled in 
my branch. Most decoder devices don't actually use the window they are 
given. Only the VAAPI one seems to really need it.

More information about the vlc-devel mailing list