[Bug 704441] New: Preparing a media blocks the server thread

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Jul 18 00:45:52 PDT 2013


https://bugzilla.gnome.org/show_bug.cgi?id=704441
  GStreamer | gst-rtsp-server | git

           Summary: Preparing a media blocks the server thread
    Classification: Platform
           Product: GStreamer
           Version: git
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gst-rtsp-server
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: slomo at circular-chaos.org
         QAContact: gstreamer-bugs at lists.freedesktop.org
                CC: wim.taymans at gmail.com
     GNOME version: ---


gst_rtsp_media_prepare() currently is called from the main server thread, and
does a g_cond_wait_until() until the media pipeline is pre-rolled. As this can
take some time depending on the pipeline, the server thread will be blocked for
some time. And especially a) can't take any new connections during that time
(allowed backlog there is 5 currently, easy to drop connections) and b) can't
send anything to already connected clients (creating bursts afterwards and
potential fillup of the GstRTSPConnection backlog, or dropping of packets, or
...)


Instead of the GCond this should probably be done by stopping code flow for
this media after the pipeline is set to PLAYING, at the place where the GCond
is currently signaled add an idle callback to the main context and from there
continue the code flow as before.

-- 
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