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

Tiago Katcipis katcipis at inf.ufsc.br
Thu Nov 18 18:40:49 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.

if this is being double posted ...I'm sorry...i got some strange errors from
the email server =/.

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/49c7381d/attachment.htm>


More information about the gstreamer-devel mailing list