[gst-devel] handling playlists (was: SMIL: how to read while being paused?)
wingo at pobox.com
Tue Oct 11 03:26:20 CEST 2005
On Thu, 2005-10-06 at 13:25 +0200, Ákos Maróy wrote:
> Andy Wingo wrote:
> > It is true that fewer elements support pull-based operation in 0.9.
> I see..
> well, getting to be the most specific, currently I read a playlist from
> a filesource. what might be needed is to read it through say an HTTP
> (RTSP) source (I don't know if these are available already). so the
> question is, if these support pull, and in the READY state.
These do not support pull. They start threads and push buffers. So your
element, when it is going from ready to paused, should be prepared to
handle all buffers that might be pushed on the playlist pad. When you
get EOS on that pad you can notify the application of the playlist data.
Or if you are parsing it SAX-style you can notify as you get buffers of
If you code the playlist element as a bin, that would be the logical
place to put "application logic", creating the individual media sources,
linking and mixing them, etc. Until you push a buffer out to a sink, the
pipeline is not fully paused. You can know when the processing is
complete by waiting for the state change message ready->paused to appear
on the bus, or an error message if there is a problem.
More information about the gstreamer-devel