[gst-devel] info about dynamic request pads
Luca Ognibene
luca.ognibene at gmail.com
Tue Jan 20 09:44:50 CET 2009
More info of a segfault:
* pipeline: http://people.freedesktop.org/~skaboy/76.svg
* backtrace: http://people.freedesktop.org/~skaboy/76.bt
* GST_DEBUG info: http://people.freedesktop.org/~skaboy/76.log.bz2
Please tell me if you need more info.
Luca
On Mon, Jan 19, 2009 at 11:10 AM, Luca Ognibene <luca.ognibene at gmail.com> wrote:
> Hi, i would like to create a bin that works this way:
> * a single sink pad
> * src%d are request pad
> * inside the bin i have the sink pad linked to a tee
> * every time i request a pad i want my bin to create a "queue !
> identity" bin and attach it to the internal tee
> * every time i release a pad i want my bin to stop the "queue !
> identity" bin and release the internal tee pad
>
> Everything work if the bin is in the NULL state but i have
> segfaults/hangs if the bin is in PLAYING state. I've tried to read
> part-block and other
> docs but i'm not able to fix this problem..
>
> I've implemented the bin this way:
> * in _init the internal tee is created
>
> * test app call bin.get_request_pad('src0')
>
> * in _request_new_pad:
> * get element state
> * request a pad from internal tee
> * block this pad if state is PLAYING
> * add the "queue ! identity" bin
> * create the ghost pad and set target to bin.src
> * link tee request pad to bin.sink
> * call sync_state_with_parent on the bin (is this ok? right now
> bin.src is not linked and the bin is in playing state)
> * unblock tee request pad
>
> * test app block received ghost pad
> * add queue ! fakesink
> * link them to ghost pad
> * call sync_state_with_parent on queue and fakesink
> * unblock ghost pad
>
> Problems:
> * sometime (really often) program hangs on blocking ghost pad
> * sometime (not very often) i have segfaults while queue is trying to
> fixate caps
>
> A strange thing is that if i change my bin to add "identity !
> identity" instead of "queue ! identity" everything works fine.. but i
> don't know why! And i need the queue there :)
>
> This is a svg graph of my pipeline after having received the ghost
> pad: http://people.freedesktop.org/~skaboy/test76-3.dot.svg
> I'm using gstreamer 0.10.21 (core).
>
> ciao
> Luca
>
More information about the gstreamer-devel
mailing list