<br><br><div class="gmail_quote">2010/11/18 Sebastian Dröge <span dir="ltr"><<a href="mailto:sebastian.droege@collabora.co.uk">sebastian.droege@collabora.co.uk</a>></span><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="im">On Thu, 2010-11-18 at 13:00 -0200, Tiago Katcipis wrote:<br>
><br>
><br>
> That's all possible but the problem with that is, that a) the<br>
> state<br>
> change from NULL->READY happens synchronous in GStreamer and<br>
> that b)<br>
> basesrc wants to know the file size in READY already,<br>
> otherwise it will<br>
> never activate random access mode.<br>
><br>
><br>
> Well if it must be synchronous running the main loop on another Thread<br>
> does not to seem to be an option. What is done on gst_bus_poll seems<br>
> to fit here:<br>
><br>
> 1 - the caller on the set_state will get blocked on the call<br>
> 2 - inside the call we mount the file and do all the stuff async using<br>
> the main_loop_run to block the caller<br>
> 3 - after everything is done we get out of the run call and give to<br>
> the basesrc the file size<br>
><br>
> this way we can use the async GIO API, mount the file for the user<br>
> giving a "sync" operation to the set_state caller. But this approach<br>
> is pretty simple, if you guys still not implemented it... it is<br>
> because it has something pretty bad on it... it is because the same<br>
> problem that can happen on gst_bus_poll?<br>
<br>
</div>That would work in theory but the problem here is, that GStreamer does<br>
not require any running GLib main loop on the main context by policy.<br></blockquote><div><br>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.<br>
<br>but i agree that it is ugly and your suggestion seems to be better...make the transition of states async:<br><a href="https://bugzilla.gnome.org/show_bug.cgi?id=586939">https://bugzilla.gnome.org/show_bug.cgi?id=586939</a><br>
<br>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.<br>
<br>best regards,<br>Katcipis<br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br>------------------------------------------------------------------------------<br>
Beautiful is writing same markup. Internet Explorer 9 supports<br>
standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3.<br>
Spend less time writing and rewriting code and more time creating great<br>
experiences on the web. Be a part of the beta today<br>
<a href="http://p.sf.net/sfu/msIE9-sfdev2dev" target="_blank">http://p.sf.net/sfu/msIE9-sfdev2dev</a><br>_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a><br>
<a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br><a href="http://www.getgnulinux.org/windows">http://www.getgnulinux.org/windows</a><br>