From 34d9d8abd4b45dd3236a5ffcabe5545d471cc6a0 Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@duempel.org>
Date: Tue, 30 Aug 2011 22:19:52 +0200
Subject: output/raop: merge raopcl_close() into _finish()

.. and fix a double free bug.
---
 src/output/raop_output_plugin.c | 14 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

diff --git a/src/output/raop_output_plugin.c b/src/output/raop_output_plugin.c
index 3b5e319c4..24cc96e4d 100644
--- a/src/output/raop_output_plugin.c
+++ b/src/output/raop_output_plugin.c
@@ -562,15 +562,6 @@ raopcl_connect(struct raop_data *rd, GError **error_r)
 	return rval;
 }
 
-static void
-raopcl_close(struct raop_data *rd)
-{
-	if (rd->rtspcl)
-		rtspcl_close(rd->rtspcl);
-	rd->rtspcl = NULL;
-	g_free(rd);
-}
-
 static int
 difference (struct timeval *t1, struct timeval *t2)
 {
@@ -666,7 +657,10 @@ static void
 raop_output_finish(void *data)
 {
 	struct raop_data *rd = data;
-	raopcl_close(rd);
+
+	if (rd->rtspcl)
+		rtspcl_close(rd->rtspcl);
+
 	g_mutex_free(rd->control_mutex);
 	g_free(rd);
 }
-- 
cgit v1.2.3