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 ------------------------------------------------------------------------------ This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
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 <[hidden email]> 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 > ------------------------------------------------------------------------------ This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |