mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-18 14:26:43 +00:00
rtspconnection: not enter in not controllable state unless it is necessary
When closing rtspsrc the state change blocks until the polling in the connection timeouts. This is because the second time we loop to read a full message controllable is set to FALSE in the poll group, even though no message is half read. This can be avoided by not setting controllable to FALSE the poll group unless we had begin to read a message. Fixes #610916
This commit is contained in:
parent
74cc986593
commit
30b2abaddd
1 changed files with 3 additions and 1 deletions
|
@ -2269,7 +2269,9 @@ gst_rtsp_connection_receive (GstRTSPConnection * conn, GstRTSPMessage * message,
|
|||
if (gst_poll_fd_has_error (conn->fdset, conn->writefd))
|
||||
goto socket_error;
|
||||
|
||||
gst_poll_set_controllable (conn->fdset, FALSE);
|
||||
/* once we start reading the wait cannot be controlled */
|
||||
if (builder.state != STATE START)
|
||||
gst_poll_set_controllable (conn->fdset, FALSE);
|
||||
}
|
||||
|
||||
/* we have a message here */
|
||||
|
|
Loading…
Reference in a new issue