mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-23 18:21:04 +00:00
rtspsrc: fix TCP reconnect
Ignore other commands when reconnecting, otherwise the loop function would pause and the reconnection would not happen. Continue looping after doing a reconnect so that we have a chance to actually read the new data.
This commit is contained in:
parent
fc81ddc8ee
commit
a858bf46db
1 changed files with 5 additions and 1 deletions
|
@ -4147,6 +4147,10 @@ gst_rtspsrc_loop_send_cmd (GstRTSPSrc * src, gint cmd, gint mask)
|
|||
|
||||
GST_OBJECT_LOCK (src);
|
||||
old = src->pending_cmd;
|
||||
if (old == CMD_RECONNECT) {
|
||||
GST_DEBUG_OBJECT (src, "ignore, we were reconnecting");
|
||||
cmd = CMD_RECONNECT;
|
||||
}
|
||||
if (old != CMD_WAIT) {
|
||||
src->pending_cmd = CMD_WAIT;
|
||||
GST_OBJECT_UNLOCK (src);
|
||||
|
@ -6561,7 +6565,7 @@ gst_rtspsrc_thread (GstRTSPSrc * src)
|
|||
|
||||
GST_OBJECT_LOCK (src);
|
||||
cmd = src->pending_cmd;
|
||||
if (cmd == CMD_PLAY || cmd == CMD_LOOP)
|
||||
if (cmd == CMD_RECONNECT || CMD_PLAY || cmd == CMD_LOOP)
|
||||
src->pending_cmd = CMD_LOOP;
|
||||
else
|
||||
src->pending_cmd = CMD_WAIT;
|
||||
|
|
Loading…
Reference in a new issue