[gst-devel] Not at all related to 0.11 [Was: The 1.0 plan]
katcipis at inf.ufsc.br
Thu Nov 18 17:05:42 CET 2010
2010/11/18 Sebastian Dröge <sebastian.droege at collabora.co.uk>
> On Thu, 2010-11-18 at 13:00 -0200, Tiago Katcipis wrote:
> > That's all possible but the problem with that is, that a) the
> > state
> > change from NULL->READY happens synchronous in GStreamer and
> > that b)
> > basesrc wants to know the file size in READY already,
> > otherwise it will
> > never activate random access mode.
> > Well if it must be synchronous running the main loop on another Thread
> > does not to seem to be an option. What is done on gst_bus_poll seems
> > to fit here:
> > 1 - the caller on the set_state will get blocked on the call
> > 2 - inside the call we mount the file and do all the stuff async using
> > the main_loop_run to block the caller
> > 3 - after everything is done we get out of the run call and give to
> > the basesrc the file size
> > this way we can use the async GIO API, mount the file for the user
> > giving a "sync" operation to the set_state caller. But this approach
> > is pretty simple, if you guys still not implemented it... it is
> > because it has something pretty bad on it... it is because the same
> > problem that can happen on gst_bus_poll?
> That would work in theory but the problem here is, that GStreamer does
> not require any running GLib main loop on the main context by policy.
does not require, but if we create it? the user does not need to know that a
main loop has been created, and if the mainloop on the main context already
exists...we use it.
but i agree that it is ugly and your suggestion seems to be better...make
the transition of states async:
so my question now is... is there any planning on doing this? because if it
is not going to be done, even if it is not beautiful (like gst_bus_poll) it
seems to be better to let the user "ask" the plugin to mount everything to
him instead of having to catch a message "not-mounted" and them having to
mount (asynchronously...a pain in the ass) and them setting the pipeline to
> Beautiful is writing same markup. Internet Explorer 9 supports
> standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3.
> Spend less time writing and rewriting code and more time creating great
> experiences on the web. Be a part of the beta today
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the gstreamer-devel