[gstreamer-bugs] [Bug 608877] New: gst_caps_unref error in gsttypefindelement.c

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Wed Feb 3 02:28:30 PST 2010


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

           Summary: gst_caps_unref error in gsttypefindelement.c
    Classification: Desktop
           Product: GStreamer
           Version: git
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: major
          Priority: Normal
         Component: gstreamer (core)
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: patrick.radizi at axis.com
         QAContact: gstreamer-bugs at lists.sourceforge.net
      GNOME target: ---
     GNOME version: ---


I have an application that is using playbin2. Sometimes when changing the state
of playbin2 from PAUSED to READY I get the following error:

GStreamer-CRITICAL **: gst_caps_unref: assertion `GST_CAPS_REFCOUNT_VALUE
(caps) > 0' failed

I have traced the error to
gsttypefindelement.c->gst_type_find_element_change_state()->gst_caps_replace(). 

The error only seems to appear when I do the PASUSED to READY state change
shortly after I have set playbin to PLAYING (and before the first frame has
reached the audio/video sink).

Looking in the code it's clear that it isn't thread safe. For example
gst_type_find_element_have_type() is called from one thread and
gst_type_find_element_change_state from another, since they both unref the
typefind->caps variable I guess this could be the cause of this error.

-- 
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