On 6/9/17 4:27 PM, wm4 wrote:
> It appears in this case, frames_ininit is called twice (once by
> av_hwframe_ctx_init(), and again by unreffing the frames ctx ref).
> ---
> Not sure if that's correct. Or if it could happen with certain other
> decoders.
> ---
>  libavutil/hwcontext_d3d11va.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/libavutil/hwcontext_d3d11va.c b/libavutil/hwcontext_d3d11va.c
> index 3940502868..5622bb8d34 100644
> --- a/libavutil/hwcontext_d3d11va.c
> +++ b/libavutil/hwcontext_d3d11va.c
> @@ -72,9 +72,11 @@ static void d3d11va_frames_uninit(AVHWFramesContext *ctx)
>  
>      if (frames_hwctx->texture)
>          ID3D11Texture2D_Release(frames_hwctx->texture);
> +    frames_hwctx->texture = NULL;
>  
>      if (s->staging_texture)
>          ID3D11Texture2D_Release(s->staging_texture);
> +    s->staging_texture = NULL;
>  }
>  
>  static void free_texture(void *opaque, uint8_t *data)
> 

looks correct though.

lu
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to