GNOME Bugzilla – Bug 673178
[basesrc/appsrc] hanging
Last modified: 2012-05-18 08:10:41 UTC
[applies to 0.11 == master these days] Consider appsrc going READY -> PAUSED. This leads into gst_base_src_start() which will call gst_base_src_start_complete(), which will perform an initial seek to start up the source task. This task grabs LIVE_LOCK which races with gst_base_src_start_complete() also going for the LIVE_LOCK. If the loop thread gets the lock first that will delay and likely hang until appsrc is provided with data which might be hard to do by the app if its state change thread (mainloop?) is hanging (-base generic/states test definitely hangs in such case). Maybe there is some appsrc fixing needed here, but more generic basesrc tweaking might also apply (?) Note also here that the documentation on gst_base_src_start_complete() and gst_base_src_set_async() is not all that clear (but it is not certain that appsrc is performing an async startup as considered async in basesrc case, since it basically hangs after starting up and not during ;) ).
*** This bug has been marked as a duplicate of bug 676048 ***