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 764993 - libs: fix deleting a GstVaapiCodedBufferPool object
libs: fix deleting a GstVaapiCodedBufferPool object
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer-vaapi
git master
Other Linux
: Normal normal
: 1.9.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2016-04-13 12:30 UTC by Michael Olbrich
Modified: 2016-04-29 08:43 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
patch (1.02 KB, patch)
2016-04-13 12:30 UTC, Michael Olbrich
committed Details | Review

Description Michael Olbrich 2016-04-13 12:30:00 UTC
Created attachment 325859 [details] [review]
patch

Call gst_vaapi_video_pool_finalize() in coded_buffer_pool_finalize().
Otherwise it is not called when the pool is destroyed and all objects
referenced by the GstVaapiVideoPool are never released.
Comment 1 Víctor Manuel Jáquez Leal 2016-04-13 13:43:29 UTC
Comment on attachment 325859 [details] [review]
patch

Great catch!

Being just code wise, I would like to know if it is possible to stick to the gobject-like code style.  I mean, to keep someware the parent_finalize and call it from the class structure. Though this is the most direct solution.
Comment 2 Víctor Manuel Jáquez Leal 2016-04-13 17:14:53 UTC
Comment on attachment 325859 [details] [review]
patch

I checked and it is not possible to save the parents finalize pointer as it is. Hence the patch is correct.
Comment 3 Víctor Manuel Jáquez Leal 2016-04-13 17:21:53 UTC
Comment on attachment 325859 [details] [review]
patch

commit 1e32d62c1e27e4df5d127c30fd3b6084e2db8483
Author: Michael Olbrich <m.olbrich@pengutronix.de>
Date:   Wed Apr 13 14:09:00 2016 +0200

    libs: fix deleting a GstVaapiCodedBufferPool object
    
    Call gst_vaapi_video_pool_finalize() in coded_buffer_pool_finalize().
    Otherwise it is not called when the pool is destroyed and all objects
    referenced by the GstVaapiVideoPool are never released.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=764993