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 769080 - decodebin3: fix collection refcounting
decodebin3: fix collection refcounting
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal normal
: 1.9.2
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2016-07-22 12:41 UTC by Guillaume Desmottes
Modified: 2016-07-25 07:05 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
decodebin3: fix collection refcounting (1.92 KB, patch)
2016-07-22 12:41 UTC, Guillaume Desmottes
committed Details | Review
playbin3: fix collection leak (933 bytes, patch)
2016-07-22 12:42 UTC, Guillaume Desmottes
committed Details | Review

Description Guillaume Desmottes 2016-07-22 12:41:41 UTC
.
Comment 1 Guillaume Desmottes 2016-07-22 12:41:59 UTC
Created attachment 331987 [details] [review]
decodebin3: fix collection refcounting

My collection leak fix 83f30627cd9460157935e7e9603c60a15555967e
introduced a crash in this scenario: audiotestsrc ! decodebin3 ! fakesink

The reference handling of collection in decodebin3 wasn't very clear and
my attempt to fix the leak introduced a regression where we went one
reference short in some other scenarios.

Fixing this by:
- Giving a strong reference to DecodebinInput making things clearer
- Fixing get_merged_collection() which was sometimes returning an
  existing reference and sometimes a new one.
Comment 2 Guillaume Desmottes 2016-07-22 12:42:05 UTC
Created attachment 331988 [details] [review]
playbin3: fix collection leak

The collection referenced owned by playbin3 was not released when it was
destroyed.
Comment 3 Edward Hervey 2016-07-25 07:05:28 UTC
commit c1f37edfd9e5939de78aa442afd5dec03e966193
Author: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Date:   Fri Jul 22 14:40:25 2016 +0200

    playbin3: fix collection leak
    
    The collection referenced owned by playbin3 was not released when it was
    destroyed.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=769080

commit 2c0a4d20d4c75bf2cfdc03d18321241221421561
Author: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Date:   Fri Jul 22 14:35:17 2016 +0200

    decodebin3: fix collection refcounting
    
    My collection leak fix 83f30627cd9460157935e7e9603c60a15555967e
    introduced a crash in this scenario: audiotestsrc ! decodebin3 ! fakesink
    
    The reference handling of collection in decodebin3 wasn't very clear and
    my attempt to fix the leak introduced a regression where we went one
    reference short in some other scenarios.
    
    Fixing this by:
    - Giving a strong reference to DecodebinInput making things clearer
    - Fixing get_merged_collection() which was sometimes returning an
      existing reference and sometimes a new one.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=769080