[Bug 673178] New: [basesrc/appsrc] hanging

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri Mar 30 07:08:10 PDT 2012


https://bugzilla.gnome.org/show_bug.cgi?id=673178
  GStreamer | gstreamer (core) | 0.11.x

           Summary: [basesrc/appsrc] hanging
    Classification: Platform
           Product: GStreamer
           Version: 0.11.x
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gstreamer (core)
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: mnauw at users.sourceforge.net
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


[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 ;) ).

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list