GNOME Bugzilla – Bug 747999
vaapidecode: Tell the base class about released frames on close
Last modified: 2015-04-20 12:08:50 UTC
Created attachment 301749 [details] [review] vaapidecode: Tell the base class about released frames on close This is related to bug #743226, there is a leak of a couple GstVideoCodecFrame when stopping the decoder because those frames are in the dpb and nothing forces them out. The code to force them out already existed for seeks, so pushing it into the destroy function should be enough.
Created attachment 301872 [details] [review] vaapidecode: Tell the base class about released frames on close This could also happen after the dpb has been released, in that case, no need to flush it?
Review of attachment 301872 [details] [review]: ::: gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c @@ +775,3 @@ GstVaapiDecoderMpeg2Private * const priv = &decoder->priv; + if (priv->dpb) Is this change part of the patch?
(In reply to Olivier Crête from comment #1) > Created attachment 301872 [details] [review] [review] > vaapidecode: Tell the base class about released frames on close > > This could also happen after the dpb has been released, in that case, no > need to flush it? Oh, I see. Nevermind my comment.
Olivier, what do you think about bug #745962? I have seen some artifacts with it (patch in bug #745962) when decoding VC1.
*** Bug 742595 has been marked as a duplicate of this bug. ***
Comment on attachment 301872 [details] [review] vaapidecode: Tell the base class about released frames on close commit 11c963a3c1e3d0b21e0867a83faadcc6076fca2d Author: Olivier Crete <olivier.crete@collabora.com> Date: Thu Apr 16 12:53:18 2015 -0400 vaapidecode: Tell the base class about released frames on close The base class needs to be informed about frames that were still queued in the decoder on release, otherwise they are leaked. https://bugzilla.gnome.org/show_bug.cgi?id=747999