sound-player: Fix memory leak in stop APIs 13/231413/2 accepted/tizen/unified/20200422.215421 submit/tizen/20200422.064310
authorJaechul Lee <jcsing.lee@samsung.com>
Wed, 22 Apr 2020 01:32:41 +0000 (10:32 +0900)
committerJaechul Lee <jcsing.lee@samsung.com>
Wed, 22 Apr 2020 03:33:02 +0000 (12:33 +0900)
Every time stop APIs called, memory leak found. The reason why
sink_input's userdata that has wrapper structure such as
memblockq_stream, file_stream should be freed.

[Version] 13.0.13
[Issue Type] Bug

Change-Id: I221a6ace56b4c57f288c263c6e3b5fe5abf5e38a
Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
packaging/pulseaudio-modules-tizen.spec
src/module-sound-player.c

index e71fd063cc09dda2a63c656caf627aaa053ce5b2..ba1d2cc099c8c758a86eee7d8b1c36ac7d8f1198 100644 (file)
@@ -1,6 +1,6 @@
 Name:             pulseaudio-modules-tizen
 Summary:          Pulseaudio modules for Tizen
-Version:          13.0.12
+Version:          13.0.13
 Release:          0
 Group:            Multimedia/Audio
 License:          LGPL-2.1+
index a1fe61bcdb4c6c086e4f451d68d1fa1eb496d9a8..7071e9c2e4e859930b566097d956c149bfda619a 100644 (file)
@@ -290,8 +290,8 @@ static void _simple_stop(struct userdata *u, const char *file_path) {
 
     PA_IDXSET_FOREACH(si, u->module->core->sink_inputs, idx) {
         if (pa_safe_streq(pa_proplist_gets(si->proplist, PA_PROP_MEDIA_NAME), name_to_search)) {
-            pa_log_info("unlink sink-input : %u", si->index);
-            pa_sink_input_unlink(si);
+            pa_log_info("kill sink-input : %u", si->index);
+            pa_sink_input_kill(si);
         }
     }
 
@@ -309,8 +309,8 @@ static void _simple_stop_all(struct userdata *u) {
         media_name = pa_proplist_gets(si->proplist, PA_PROP_MEDIA_NAME);
 
         if (media_name && pa_strneq(media_name, KEYTONE_PREFIX, strlen(KEYTONE_PREFIX))) {
-            pa_log_info("unlink sink-input : %u", si->index);
-            pa_sink_input_unlink(si);
+            pa_log_info("kill sink-input : %u", si->index);
+            pa_sink_input_kill(si);
         }
     }
 }
@@ -533,7 +533,8 @@ static void handle_sound_stop(DBusConnection *conn, DBusMessage *msg, void *user
             pa_xfree(i);
         }
     }
-    pa_sink_input_unlink(si);
+
+    pa_sink_input_kill(si);
 
     pa_dbus_send_empty_reply(conn, msg);
 }