summaryrefslogtreecommitdiffstats
path: root/gst/rtsp
diff options
context:
space:
mode:
authorPatrick Radizi <patrick.radizi at axis.com>2009-05-13 11:50:22 +0200
committerWim Taymans <wim.taymans@collabora.co.uk>2009-05-25 10:57:59 +0200
commit301fc8a712273e16eabd3647ccf6a43a871e3ada (patch)
tree808107b1d2e3b42659bb162608daaf413da8ce24 /gst/rtsp
parent047618849a3ae40e692646459b9f458692a8ea32 (diff)
rtspsrc: fix memory leak of messages
Free messages correctly. Fixes #577318
Diffstat (limited to 'gst/rtsp')
-rw-r--r--gst/rtsp/gstrtspsrc.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gst/rtsp/gstrtspsrc.c b/gst/rtsp/gstrtspsrc.c
index b7f57774..82bbfd1d 100644
--- a/gst/rtsp/gstrtspsrc.c
+++ b/gst/rtsp/gstrtspsrc.c
@@ -2951,6 +2951,7 @@ server_eof:
GST_ELEMENT_WARNING (src, RESOURCE, READ, (NULL),
("The server closed the connection."));
src->connected = FALSE;
+ gst_rtsp_message_unset (&message);
return GST_FLOW_UNEXPECTED;
}
interrupt:
@@ -3001,6 +3002,7 @@ gst_rtspsrc_loop_udp (GstRTSPSrc * src)
{
gboolean restart = FALSE;
GstRTSPResult res;
+ GstRTSPMessage message = { 0 };
GST_OBJECT_LOCK (src);
if (src->loop_cmd == CMD_STOP)
@@ -3010,7 +3012,6 @@ gst_rtspsrc_loop_udp (GstRTSPSrc * src)
GST_OBJECT_UNLOCK (src);
while (TRUE) {
- GstRTSPMessage message = { 0 };
GTimeVal tv_timeout;
/* get the next timeout interval */
@@ -3161,6 +3162,7 @@ handle_request_failed:
GST_ELEMENT_ERROR (src, RESOURCE, WRITE, (NULL),
("Could not handle server message. (%s)", str));
g_free (str);
+ gst_rtsp_message_unset (&message);
return GST_FLOW_ERROR;
}
connect_error:
@@ -3197,6 +3199,7 @@ server_eof:
GST_ELEMENT_WARNING (src, RESOURCE, READ, (NULL),
("The server closed the connection."));
src->connected = FALSE;
+ gst_rtsp_message_unset (&message);
return GST_FLOW_UNEXPECTED;
}
}
@@ -3647,6 +3650,7 @@ receive_error:
handle_request_failed:
{
/* ERROR was posted */
+ gst_rtsp_message_unset (response);
return res;
}
server_eof:
@@ -3654,6 +3658,7 @@ server_eof:
GST_DEBUG_OBJECT (src, "we got an eof from the server");
GST_ELEMENT_WARNING (src, RESOURCE, READ, (NULL),
("The server closed the connection."));
+ gst_rtsp_message_unset (response);
return GST_FLOW_UNEXPECTED;
}
}