GNOME Bugzilla – Bug 586939
[0.11] Make NULL->READY state changes asynchronous
Last modified: 2011-12-06 13:08:39 UTC
we need a way to get basesrc::start() called async (for network sources for example, I can't make giosrc good without this). This requires to make the NULL->READY state change async, which would then break many apps.
Suggested was a global setting to enable the async NULL->READY state change for 0.10 and make it the default in 0.11.
Renaming the bug and targetting 0.11 as it definitely should be done until then. It might be possible to do it earlier with some global setting to change behaviour though...
What shall we do about this? This can be fixed in many cases by using the new PROGRESS messages but in the case of basesrc it is still required to know the file size and everything when going to READY to allow random access
From ebc25e895f7fdd0b7d4e8eb873d1cd9601177b41 Mon Sep 17 00:00:00 2001
From: Wim Taymans <email@example.com>
Date: Tue, 06 Dec 2011 13:01:50 +0000
Subject: basesrc: add async start option
Add a method to enable async start behaviour. The subclass can then complete the
start operation from any other thread by caling gst_base_src_start_complete().
The base class can wait for the start to complete with