[FFmpeg-devel] [PATCH v4 1/1] avutils/hwcontext: When deriving a hwdevice, search for existing device in both directions

Soft Works softworkz at hotmail.com
Fri Nov 26 21:29:08 EET 2021



> -----Original Message-----
> From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of Anton
> Khirnov
> Sent: Friday, November 26, 2021 8:12 PM
> To: FFmpeg development discussions and patches <ffmpeg-devel at ffmpeg.org>
> Subject: Re: [FFmpeg-devel] [PATCH v4 1/1] avutils/hwcontext: When deriving a
> hwdevice, search for existing device in both directions
> 
> Quoting Soft Works (2021-11-26 19:43:58)
> > Maybe I'm missing something, but hw device contexts are refcounted.
> > What happens in hwdevice_ctx_free() is this:
> >
> > av_buffer_unref(&ctx->internal->source_device);
> 
> IIUC this only happens after the parent device is freed. My concern is
> the following situation:
> - the caller creates a parent hwdevice
> - the caller derives a child from it, which may acquire some additional
>   resources beyond what the parent holds
> - the caller unrefs all his references to the child, but the child does
>   not get freed because the parent still holds a reference to it
> 
> Since av_hwdevice_ctx_create_derived() has a flags parameter, we might
> want to introduce a flag to control this behavior.

I understand what you mean. I'm just not sure whether a practical case
with such a requirement exists. Should that turn out to be required,
such flag can be added at any time, IMO.

Kind regards,
softworkz



More information about the ffmpeg-devel mailing list