summaryrefslogtreecommitdiffstats
path: root/gst/udp/gstmultiudpsink.c
diff options
context:
space:
mode:
Diffstat (limited to 'gst/udp/gstmultiudpsink.c')
-rw-r--r--gst/udp/gstmultiudpsink.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gst/udp/gstmultiudpsink.c b/gst/udp/gstmultiudpsink.c
index 670162c0..bcafd95f 100644
--- a/gst/udp/gstmultiudpsink.c
+++ b/gst/udp/gstmultiudpsink.c
@@ -92,6 +92,8 @@ static void gst_multiudpsink_set_property (GObject * object, guint prop_id,
static void gst_multiudpsink_get_property (GObject * object, guint prop_id,
GValue * value, GParamSpec * pspec);
+static void free_client (GstUDPClient * client);
+
static GstElementClass *parent_class = NULL;
static guint gst_multiudpsink_signals[LAST_SIGNAL] = { 0 };
@@ -269,6 +271,9 @@ gst_multiudpsink_finalize (GObject * object)
sink = GST_MULTIUDPSINK (object);
+ g_list_foreach (sink->clients, (GFunc) free_client, NULL);
+ g_list_free (sink->clients);
+
g_mutex_free (sink->client_lock);
WSA_CLEANUP (object);