[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