rtspsrc: reset connection info to non-flushing when closing
authorMark Nauwelaerts <mnauw@users.sourceforge.net>
Tue, 25 Oct 2016 13:24:20 +0000 (15:24 +0200)
committerMark Nauwelaerts <mnauw@users.sourceforge.net>
Wed, 26 Oct 2016 10:30:39 +0000 (12:30 +0200)
This solves a hanging mainloop in following scenario:
* connect to source
* network/server drops
* pipeline set to NULL (and connection to flushing as part)
* pipeline set to PAUSED/PLAYING (connection to non-flushing, but not recorded)
* [connecting still not possible]
* pipeline set to NULL => mainloop hangs (since no actual flushing is done)

gst/rtsp/gstrtspsrc.c

index 189adc2..7e942d0 100644 (file)
@@ -4178,6 +4178,7 @@ gst_rtsp_conninfo_close (GstRTSPSrc * src, GstRTSPConnInfo * info,
     GST_DEBUG_OBJECT (src, "freeing connection...");
     gst_rtsp_connection_free (info->connection);
     info->connection = NULL;
+    info->flushing = FALSE;
   }
   GST_RTSP_STATE_UNLOCK (src);
   return GST_RTSP_OK;