[gstreamer-bugs] [Bug 306893] New: Unreffing already unreffed buffer when going from PAUSED->READY in divx videos

bugzilla-daemon at bugzilla.gnome.org bugzilla-daemon at bugzilla.gnome.org
Wed Jun 8 07:30:14 PDT 2005


Please DO NOT reply to this by email. All additional comments should be made in
the comments box of this bug report.

 http://bugzilla.gnome.org/show_bug.cgi?id=306893
 GStreamer | gst-ffmpeg | Ver: HEAD CVS

           Summary: Unreffing already unreffed buffer when going from
                    PAUSED->READY in divx videos
           Product: GStreamer
           Version: HEAD CVS
          Platform: Other
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-ffmpeg
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: bilboed at bilboed.com
         QAContact: gstreamer-bugs at lists.sourceforge.net
                CC: all-bugs at bugzilla.gnome.org


set up a simple file ! decodebin ! xvimagesink pipeline set it to PLAYING, and
then to READY. The following error appears :
(process:27357): GStreamer-CRITICAL **: gst_data_unref: assertion
`GST_DATA_REFCOUNT_VALUE (data) > 0' failed

It seems to only go wrong with divx videos

A example video that causes that problem is available here :
http://etud.epita.fr/~hervey_e/WobblyWindows.avi

Here is a backtrace where it goes wrong:

#1  0x00002aaaad5f2373 in gst_ffmpegdec_release_buffer (context=0x2aaaac00cd79,
picture=0x842550) at gstffmpegdec.c:564
        i = -1412268937
        buf = (GstBuffer *) 0x0
        ffmpegdec = (GstFFMpegDec *) 0x2aaaabd27c77
        __PRETTY_FUNCTION__ = "gst_ffmpegdec_release_buffer"
#2  0x00002aaaad639a42 in MPV_common_end (s=0x7b4ba0) at mpegvideo.c:426
        i = 0
        j = 2
        k = 2
#3  0x00002aaaad7855b0 in ff_h263_decode_end (avctx=0x2aaaac00cd79) at h263dec.c:120
        s = (MpegEncContext *) 0x2aaaac00cd79
#4  0x00002aaaad636cc9 in avcodec_close (avctx=0x661b40) at utils.c:626
No locals.
#5  0x00002aaaad5f1f78 in gst_ffmpegdec_close (ffmpegdec=0x7b1b00) at
gstffmpegdec.c:362
No locals.
#6  0x00002aaaad5f3dd4 in gst_ffmpegdec_change_state (element=0x7b1b00) at
gstffmpegdec.c:1008
No locals.
#7  0x00002aaaabfcfb87 in gst_element_set_state_func (element=0x7b1b00,
state=GST_STATE_NULL) at gstelement.c:2853
        oclass = (GstElementClass *) 0x6a8cd0
        curpending = GST_STATE_READY
        return_val = GST_STATE_SUCCESS
        __PRETTY_FUNCTION__ = "gst_element_set_state_func"
#8  0x00002aaaabfcf2e7 in gst_element_set_state (element=0x7b1b00,
state=GST_STATE_NULL) at gstelement.c:2796
        klass = (GstElementClass *) 0x6a8cd0
        ret = 6982864
        __PRETTY_FUNCTION__ = "gst_element_set_state"
#9  0x00002aaaabfd08fd in gst_element_dispose (object=0x7b1b00) at gstelement.c:3105
        element = (GstElement *) 0x7b1b00
        __PRETTY_FUNCTION__ = "gst_element_dispose"
#10 0x00002aaaad5f1c5b in gst_ffmpegdec_dispose (object=0x2aaaac00cd79) at
gstffmpegdec.c:294
        ffmpegdec = (GstFFMpegDec *) 0x7b1b00
        __PRETTY_FUNCTION__ = "gst_ffmpegdec_dispose"
#11 0x00002aaaaba9d3dd in g_object_unref () from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#12 0x00002aaaacca7a23 in unlinked (pad=0x7506f0, peerpad=0x7b1d10,
decode_bin=0x561da0) at gstdecodebin.c:737
        walk = (GList *) 0x0
        dyn = (GstDynamic *) 0x7b1d10
        element = (GstElement *) 0x7506f0
        __PRETTY_FUNCTION__ = "unlinked"
#13 0x00002aaaaba9b60a in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#14 0x00002aaaabaaef8a in g_signal_has_handler_pending () from
/usr/lib/libgobject-2.0.so.0
No symbol table info available.
#15 0x00002aaaabaafe7e in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#16 0x00002aaaabab01e3 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#17 0x00002aaaabfdb5e3 in gst_pad_unlink (srcpad=0x7506f0, sinkpad=0x7b1d10) at
gstpad.c:1065
        realsrc = (GstRealPad *) 0x7506f0
        realsink = (GstRealPad *) 0x7b1d10
        src_sched = (GstScheduler *) 0x72c910
        sink_sched = (GstScheduler *) 0x2aaaac1dbd40
        __PRETTY_FUNCTION__ = "gst_pad_unlink"
#18 0x00002aaaabfcb686 in gst_element_remove_pad (element=0x75c670,
pad=0x7506f0) at gstelement.c:1257
        __PRETTY_FUNCTION__ = "gst_element_remove_pad"
#19 0x00002aaaad2b9042 in gst_avi_demux_reset (avi=0x75c670) at gstavidemux.c:165
        i = 1
#20 0x00002aaaad2beb0d in gst_avi_demux_change_state (element=0x75c670) at
gstavidemux.c:2223
        avi = (GstAviDemux *) 0x75c670
#21 0x00002aaaabfcfb87 in gst_element_set_state_func (element=0x75c670,
state=GST_STATE_READY) at gstelement.c:2853
        oclass = (GstElementClass *) 0x6e4f60
        curpending = GST_STATE_READY
        return_val = GST_STATE_SUCCESS
        __PRETTY_FUNCTION__ = "gst_element_set_state_func"
#22 0x00002aaaabfcf2e7 in gst_element_set_state (element=0x75c670,
state=GST_STATE_READY) at gstelement.c:2796
        klass = (GstElementClass *) 0x6e4f60
        ret = 7229280
        __PRETTY_FUNCTION__ = "gst_element_set_state"
#23 0x00002aaaabfc2aa1 in set_kid_state_func (bin=0x561da0, child=0x75c670,
user_data=0x2aaaabd27c77) at gstbin.c:841
        old_child_state = GST_STATE_PAUSED
        data = (SetKidStateData *) 0x7fffffffdc60
        __PRETTY_FUNCTION__ = "set_kid_state_func"
#24 0x00002aaaabfc2951 in gst_bin_foreach (bin=0x561da0, func=0x2aaaabfc2a00
<set_kid_state_func>, data=0x7fffffffdc60) at gstbin.c:805
        res = 0
        element = (GstElement *) 0x75c670
        kids = (GList *) 0x7a9898
        walk = (GList *) 0x7a98b0
        __PRETTY_FUNCTION__ = "gst_bin_foreach"
#25 0x00002aaaabfc2e82 in gst_bin_change_state (element=0x561da0) at gstbin.c:903
        data = {pending = GST_STATE_READY, result = GST_STATE_SUCCESS}
        bin = (GstBin *) 0x561da0
        ret = GST_STATE_FAILURE
        old_state = GST_STATE_PAUSED
        pending = GST_STATE_READY
        __PRETTY_FUNCTION__ = "gst_bin_change_state"
#26 0x00002aaaacca8c10 in gst_decode_bin_change_state (element=0x561da0) at
gstdecodebin.c:959
        ret = GST_STATE_FAILURE
        decode_bin = (GstDecodeBin *) 0x561da0
        transition = 1026
#27 0x00002aaaabfcfb87 in gst_element_set_state_func (element=0x561da0,
state=GST_STATE_READY) at gstelement.c:2853
        oclass = (GstElementClass *) 0x748aa0
        curpending = GST_STATE_READY
        return_val = GST_STATE_SUCCESS
        __PRETTY_FUNCTION__ = "gst_element_set_state_func"
#28 0x00002aaaabfc303c in gst_bin_set_state (element=0x561da0,
state=GST_STATE_READY) at gstbin.c:950
        bin = (GstBin *) 0x561da0
#29 0x00002aaaabfcf2e7 in gst_element_set_state (element=0x561da0,
state=GST_STATE_READY) at gstelement.c:2796
        klass = (GstElementClass *) 0x748aa0
        ret = 7637664
        __PRETTY_FUNCTION__ = "gst_element_set_state"

------- You are receiving this mail because: -------
You are the assignee for the bug.
You are the QA contact for the bug.




More information about the Gstreamer-bugs mailing list