[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