Hi All, i have created one pipieline with src either neonhttpsrc or gnomevfssrc to play HTTP stream.
and the main logic lines for seek are:
gst_element_set_state (pipeline, GST_STATE_PAUSED); gst_element_seek() gst_element_set_state (pipeline, GST_STATE_PLAYING);
gst_element_Get_state(). seek return TRUE, But it cannot change the state from PAUSED to PLAYING anymore.
get_state always return GST_STATE_CHANGE_ASYNC.
I have add wait time for many minutes, but still cannot change to PLAYING. For local stream instead of http, the state can be changed from PAUSED to PLAYING,
What's additioanl steps should i do for http ones?
THANKS.
------------------------------------------------------------------------------ Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM) software. With Adobe AIR, Ajax developers can use existing skills and code to build responsive, highly engaging applications that combine the power of local resources and data with the reach of the web. Download the Adobe AIR SDK and Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Administrator
|
Hi,
On Thu, 2009-02-12 at 09:15 +0800, xiupeng xie wrote: > Hi All, i have created one pipieline with src either neonhttpsrc or > gnomevfssrc to play HTTP stream. > > and the main logic lines for seek are: > > gst_element_set_state (pipeline, GST_STATE_PAUSED); > gst_element_seek() > gst_element_set_state (pipeline, GST_STATE_PLAYING); > gst_element_Get_state(). > > > seek return TRUE, But it cannot change the state from PAUSED to > PLAYING anymore. > get_state always return GST_STATE_CHANGE_ASYNC. > I have add wait time for many minutes, but still cannot change to > PLAYING. > > For local stream instead of http, the state can be changed from PAUSED > to PLAYING, > > What's additioanl steps should i do for http ones? This is not specific to http, but common to any non-live pipeline. The problem is that the state change to PAUSED/PLAYING happens asynchronously. What you want to do is the following: * set state to PAUSED * WAIT (in the mainloop or polling) for the confirmation that the pipeline has changed state to PAUSED. This means that all sinks are prerolled (one buffer is waiting in each sink) and the pipeline is fully responsive to seeks/playback/... * Do your seek. * You don't need to wait for the pipeline to be pre-rolled (PAUSED) again to set it to PLAYING, you can straight away set it to PLAYING. You might also want to listen for ERROR/EOS messages on the pipeline bus, because although the remote http uri accepts seeks according to its headers (which is why the seek would return True), many things could go wrong in between also. Edward > > THANKS. > > > > > ------------------------------------------------------------------------------ > Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM) > software. With Adobe AIR, Ajax developers can use existing skills and code to > build responsive, highly engaging applications that combine the power of local > resources and data with the reach of the web. Download the Adobe AIR SDK and > Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com > _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel ------------------------------------------------------------------------------ Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM) software. With Adobe AIR, Ajax developers can use existing skills and code to build responsive, highly engaging applications that combine the power of local resources and data with the reach of the web. Download the Adobe AIR SDK and Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |