mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-23 18:21:04 +00:00
rtspconnection: Add read source on write socket.
Add a read source on write socket when lost tunnel. To be able to detect when clint closes get channel. This is already done in gst_rtsp_source_dispatch_write but only when the queue is empty. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=730368
This commit is contained in:
parent
0760fe8625
commit
d8a1dc5ea8
1 changed files with 10 additions and 0 deletions
|
@ -3131,6 +3131,16 @@ gst_rtsp_source_dispatch_read (GPollableInputStream * stream,
|
|||
/* and signal that we lost our tunnel */
|
||||
if (watch->funcs.tunnel_lost)
|
||||
res = watch->funcs.tunnel_lost (watch, watch->user_data);
|
||||
/* we add read source on the write socket able to detect when client closes get channel in tunneled mode */
|
||||
if (watch->conn->control_stream && !watch->controlsrc) {
|
||||
watch->controlsrc =
|
||||
g_pollable_input_stream_create_source (G_POLLABLE_INPUT_STREAM
|
||||
(watch->conn->control_stream), NULL);
|
||||
g_source_set_callback (watch->controlsrc,
|
||||
(GSourceFunc) gst_rtsp_source_dispatch_read_get_channel, watch,
|
||||
NULL);
|
||||
g_source_add_child_source ((GSource *) watch, watch->controlsrc);
|
||||
}
|
||||
goto read_done;
|
||||
} else
|
||||
goto eof;
|
||||
|
|
Loading…
Reference in a new issue