[gst-devel] when is a bin in EOS state?

Ákos Maróy darkeye at tyrell.hu
Thu Jun 16 03:50:48 CEST 2005


I'm having some problem trying to get a bin into EOS state.

I have some elements inside the bin, and the src pad of an element
'linked' by a ghostpad to the src pad of the bin. the setup is something
like this:

source -- switch -- myfilter -\
                               \ (ghostpad on src)
                                \- bin -\
                                         \ (ghostpad on src)
                                          \- mybin


in my test setup, I have mybin in a pipeline, and I'm iterating on the
pipeline. the pipeline holds the following elements:

mybin -- alsasink


elements myfilter and mybin are custom elements.


for the whole setup, myfilter is to decide when to get into EOS state. I
tried all the following, but it didn't help to get bins into EOS:

- sending an EOS event to myfilter->srcpad
- sending an EOS event to myfilter->sinkpad
- calling gst_pad_event_default() on myfilter->src with an EOS event
- calling gst_element_set_eos(myfilter)
- calling gst_element_set_eos(bin)
- calling gst_element_set_eos(mybin)
- all of the above


none of the above made gst_bin_iterate(pipeline) return false. it only
did so when I called gst_element_set_eos(pipeline) directly, which is
quite a bad hack, and seems like an overkill.

I also tried to look at the events my src ghostpad gets in mybin, with
setting an event function with gst_pad_set_event_function() - but
strangely enough, it never gets called..


Akos




More information about the gstreamer-devel mailing list