After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 747999 - vaapidecode: Tell the base class about released frames on close
vaapidecode: Tell the base class about released frames on close
Status: RESOLVED FIXED
Product: gstreamer-vaapi
Classification: Other
Component: general
git master
Other Linux
: Normal normal
: ---
Assigned To: gstreamer-vaapi maintainer(s)
gstreamer-vaapi maintainer(s)
: 742595 (view as bug list)
Depends on:
Blocks: 743569
 
 
Reported: 2015-04-16 17:21 UTC by Olivier Crête
Modified: 2015-04-20 12:08 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
vaapidecode: Tell the base class about released frames on close (2.41 KB, patch)
2015-04-16 17:21 UTC, Olivier Crête
none Details | Review
vaapidecode: Tell the base class about released frames on close (3.03 KB, patch)
2015-04-17 19:44 UTC, Olivier Crête
committed Details | Review

Description Olivier Crête 2015-04-16 17:21: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.
Comment 1 Olivier Crête 2015-04-17 19:44:06 UTC
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?
Comment 2 Víctor Manuel Jáquez Leal 2015-04-19 07:29:14 UTC
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?
Comment 3 Víctor Manuel Jáquez Leal 2015-04-19 07:30:29 UTC
(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.
Comment 4 Víctor Manuel Jáquez Leal 2015-04-19 07:34:01 UTC
Olivier, what do you think about bug #745962?

I have seen some artifacts with it (patch in bug #745962) when decoding VC1.
Comment 5 Víctor Manuel Jáquez Leal 2015-04-20 08:46:03 UTC
*** Bug 742595 has been marked as a duplicate of this bug. ***
Comment 6 Víctor Manuel Jáquez Leal 2015-04-20 12:08:17 UTC
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