[Bug 700586] New: GstTaskPool possible leak

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Sat May 18 09:52:44 PDT 2013


https://bugzilla.gnome.org/show_bug.cgi?id=700586
  GStreamer | gstreamer (core) | 1.0.6

           Summary: GstTaskPool possible leak
    Classification: Platform
           Product: GStreamer
           Version: 1.0.6
        OS/Version: Windows
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gstreamer (core)
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: mrubinstein at weather.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


I'm creating a bin to decode a Transport Stream. 
The bin/elements are:
o  created
o  inserted into the pipeline using an input-selector
o  played
o  disconnected
o  set to NULL state
o  destroyed

This works fine.  However, there are a number of memory leaks that I'm tracking
down.  Each time we lose around 4KB in around 150 chunks.

One of the leaks is a string "<queue name>:src".  This turns out to be the name
of a thread.

I think the problem is related to gst_task_join.  It does:

  if (pool) {
    if (id)
      gst_task_pool_join (pool, id);
    gst_object_unref (pool);
  }

The id is zero and the pool_join is skipped.
The reason that the id is zero is that gst_task_pool_push (default_push)
returns zero normally.  The documentation says this is OK.

Removing the if (id) seems to fix the problem.  However, I'm not familiar
enough with the code to be sure that this is the right thing to do.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list