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

Sebastian Dröge sebastian.droege at collabora.co.uk
Thu Nov 18 16:18:22 CET 2010


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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20101118/f61bb387/attachment.pgp>


More information about the gstreamer-devel mailing list