[gst-devel] Not at all related to 0.11 [Was: The 1.0 plan]

Tiago Katcipis 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:
https://bugzilla.gnome.org/show_bug.cgi?id=586939

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
play again.

best regards,
Katcipis


>
>
> ------------------------------------------------------------------------------
> 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
> http://p.sf.net/sfu/msIE9-sfdev2dev
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>


-- 
http://www.getgnulinux.org/windows
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20101118/2fb5078f/attachment.htm>


More information about the gstreamer-devel mailing list