After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 586939 - [0.11] Make NULL->READY state changes asynchronous
[0.11] Make NULL->READY state changes asynchronous
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
git master
Other Linux
: Normal enhancement
: 0.11.x
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks: 510417
Reported: 2009-06-25 12:28 UTC by Sebastian Dröge (slomo)
Modified: 2011-12-06 13:08 UTC
See Also:
GNOME target: ---
GNOME version: ---

Description Sebastian Dröge (slomo) 2009-06-25 12:28:58 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.
Comment 1 Sebastian Dröge (slomo) 2009-07-07 07:42:31 UTC
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...
Comment 2 Sebastian Dröge (slomo) 2011-05-20 06:59:45 UTC
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
Comment 3 Sebastian Dröge (slomo) 2011-12-06 13:08:39 UTC
From ebc25e895f7fdd0b7d4e8eb873d1cd9601177b41 Mon Sep 17 00:00:00 2001
From: Wim Taymans <>
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