[vlc-devel] [PATCH] video_output: use vout_GetDevice for filters

Steve Lhomme robux4 at ycbcr.xyz
Mon Jun 29 12:55:48 CEST 2020


What's the use case ? Software decoding and inserting a GPU filter ?

On 2020-06-02 12:45, Alexandre Janniaux wrote:
> It has the exact same effect, except that it will create the decoder
> device if it has not been created instead of returning NULL.
> ---
>   src/video_output/video_output.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c
> index 480dfe75f37..e927823d4cd 100644
> --- a/src/video_output/video_output.c
> +++ b/src/video_output/video_output.c
> @@ -973,7 +973,7 @@ static vlc_decoder_device * VoutHoldDecoderDevice(vlc_object_t *o, void *sys)
>   {
>       VLC_UNUSED(o);
>       vout_thread_t *vout = sys;
> -    return vout->p->dec_device ? vlc_decoder_device_Hold( vout->p->dec_device ) : NULL;
> +    return vout_GetDevice(vout);
>   }

If so you should rename the function to VoutGetDecoderDevice. But then 
you'd also need to rename filter_video_callbacks.hold_device and the 
related functions (filter_chain_HoldDecoderDevice, 
filter_HoldDecoderDevice, filter_HoldDecoderDeviceType).

It seems whatever GPU filter using a decoder device will likely want the 
same feature if it's used with a CPU decoder.

>   static const struct filter_video_callbacks vout_video_cbs = {
> -- 
> 2.26.2
> 
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
> 


More information about the vlc-devel mailing list