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 673178 - [basesrc/appsrc] hanging
[basesrc/appsrc] hanging
Status: RESOLVED DUPLICATE of bug 676048
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
0.11.x
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-03-30 14:08 UTC by Mark Nauwelaerts
Modified: 2012-05-18 08:10 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Mark Nauwelaerts 2012-03-30 14:08:08 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 ;) ).
Comment 1 Wim Taymans 2012-05-18 08:10:41 UTC

*** This bug has been marked as a duplicate of bug 676048 ***