[Bug 797289] New: dispatch write never ends
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Tue Oct 16 08:26:32 UTC 2018
https://bugzilla.gnome.org/show_bug.cgi?id=797289
Bug ID: 797289
Summary: dispatch write never ends
Classification: Platform
Product: GStreamer
Version: git master
OS: Linux
Status: NEW
Severity: normal
Priority: Normal
Component: gst-rtsp-server
Assignee: gstreamer-bugs at lists.freedesktop.org
Reporter: goran.jonsson at axis.com
QA Contact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
Created attachment 373939
--> https://bugzilla.gnome.org/attachment.cgi?id=373939&action=edit
gst-rtsp-server patch
When sending JPEG (much data) tunneled it can sometimes happen that the
dispatch write never ends. This will cause the dispatch read no never be
called.
The reason for this is to be find in on_message_sent in file rtsp-stream.
When sending data with gst_rtsp_watch_write_data(gstrtspconnection.c) sometimes
the data is queued. When data is later sent by gst_rtsp_source_dispatch_write
it also call the callback on_message_sent .
..
watch->funcs.message_sent (watch, watch->write_id, watch->user_data);
..
In on_message_sent if there are more data that can be sent it will be sent (in
dispath write context) and this is queued then dispatc write finds more data in
queue and call on_message_sent again. This can go on for a long period of time.
Since dispatch write is never ending dispatch read can't run. This way the
server
don't able to detect that remote is sending teardown.
I attach a patch that introduce an idle source to break this chain.
--
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