[gst-devel] A mail from Guadec

Iain * iaingnome at gmail.com
Tue Jun 27 19:04:05 CEST 2006

So, sitting on the floor and I'm hitting a deadlock

src ---- decodebin ----- audioconvert ---(audio/x-raw-float) ----
deinterleave ---- queue ---- sink

the number of queue/sinks depends on the number of channels in the file
with one channel it works fine
with 2 channels it deadlocks everytime t the same point in a file.
without the queues it deadlocks instantly the first buffer is pushed
to the second sink.

#2  0xb7e4eb16 in gst_base_sink_do_sync (basesink=0x833e268, pad=0x833da68,
    obj=0x8333da0, late=0xfffffffc) at gstbasesink.c:1114
#3  0xb7e4f68a in gst_base_sink_render_object (basesink=0x833e268, pad=0x1,
    obj=0x0) at gstbasesink.c:1454
#4  0xb7e50c3c in gst_base_sink_queue_object_unlocked (basesink=0x833e268,
    pad=0x833da68, obj=0x8333da0, prerollable=1) at gstbasesink.c:1653
#5  0xb7e5138f in gst_base_sink_chain_unlocked (basesink=0x833e268,
    pad=0x833da68, buf=0x8333da0) at gstbasesink.c:1905
#6  0xb7e5195b in gst_base_sink_chain (pad=0x833da68, buf=0x8333da0)
    at gstbasesink.c:1939
#7  0xb7df4841 in gst_pad_chain_unchecked (pad=0x833da68, buffer=0x8333da0)
    at gstpad.c:3215
#8  0xb7df50a3 in gst_pad_push (pad=0x833d9a8, buffer=0x8333da0)
    at gstpad.c:3354

is the deadlock in the streaming thread.

#2  0xb6b4e47d in gst_queue_chain (pad=0x833d8e8, buffer=0x8638870)
    at gstqueue.c:698
#3  0xb7df4841 in gst_pad_chain_unchecked (pad=0x833d8e8, buffer=0x8638870)
    at gstpad.c:3215
#4  0xb7df50a3 in gst_pad_push (pad=0x833d828, buffer=0x8638870)
    at gstpad.c:3354
#5  0xb7ea9f07 in sink_chain (pad=0xfffffffc, buffer=0x833b370)
    at marlin-channel-splitter.c:490

Any insights would be great...you know where to find me :)

More information about the gstreamer-devel mailing list