From e2a4d28c1fd9aea5229846db34c5a2dfc3d33ae5 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Fri, 16 Nov 2012 12:16:05 +0100 Subject: [PATCH] rtspsrc: clear variables before retrying Else we might unref an old udpsrc twice in cleanup. --- gst/rtsp/gstrtspsrc.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gst/rtsp/gstrtspsrc.c b/gst/rtsp/gstrtspsrc.c index 0292c8b55d..a6a862150a 100644 --- a/gst/rtsp/gstrtspsrc.c +++ b/gst/rtsp/gstrtspsrc.c @@ -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);