rtspsrc: clear variables before retrying
authorWim Taymans <wim.taymans@collabora.co.uk>
Fri, 16 Nov 2012 11:16:05 +0000 (12:16 +0100)
committerWim Taymans <wim.taymans@collabora.co.uk>
Fri, 16 Nov 2012 11:17:37 +0000 (12:17 +0100)
Else we might unref an old udpsrc twice in cleanup.

gst/rtsp/gstrtspsrc.c

index 0292c8b..a6a8621 100644 (file)
@@ -1568,6 +1568,7 @@ again:
       GST_DEBUG_OBJECT (src, "free RTP udpsrc");
       gst_element_set_state (udpsrc0, GST_STATE_NULL);
       gst_object_unref (udpsrc0);
+      udpsrc0 = NULL;
 
       GST_DEBUG_OBJECT (src, "retry %d", count);
       goto again;
@@ -1589,6 +1590,7 @@ again:
     GST_DEBUG_OBJECT (src, "free RTP udpsrc");
     gst_element_set_state (udpsrc0, GST_STATE_NULL);
     gst_object_unref (udpsrc0);
+    udpsrc0 = NULL;
 
     GST_DEBUG_OBJECT (src, "retry %d", count);
     tmp_rtp++;
@@ -1619,6 +1621,7 @@ again:
     GST_DEBUG_OBJECT (src, "free RTP udpsrc");
     gst_element_set_state (udpsrc0, GST_STATE_NULL);
     gst_object_unref (udpsrc0);
+    udpsrc0 = NULL;
 
     GST_DEBUG_OBJECT (src, "free RTCP udpsrc");
     gst_element_set_state (udpsrc1, GST_STATE_NULL);