stream-manager-dbus: Skip virtual stream for ducking streams 97/256097/1
authorJeongmo Yang <jm80.yang@samsung.com>
Tue, 9 Feb 2021 11:52:10 +0000 (20:52 +0900)
committerSeungbae Shin <seungbae.shin@samsung.com>
Mon, 29 Mar 2021 08:21:33 +0000 (17:21 +0900)
- The ducking state is never changed because of virtual stream.

[Version] 13.0.37
[Issue Type] Bug fix

Change-Id: I545f381f8868c40eaa8562bcdf4f6ae3afecfb63
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
packaging/pulseaudio-modules-tizen.spec
src/stream-manager-dbus.c
src/stream-manager-priv.h
src/stream-manager.c

index 9f5b1f7c5c005f319e070c0585d20fd97943527f..7c7715c1b3342f0ec24bcc934f6990884219f598 100644 (file)
@@ -1,6 +1,6 @@
 Name:             pulseaudio-modules-tizen
 Summary:          Pulseaudio modules for Tizen
-Version:          13.0.36
+Version:          13.0.37
 Release:          0
 Group:            Multimedia/Audio
 License:          LGPL-2.1+
index a03852b645818f09e2f52ee3ac4110b028065017..d463295b50bcdb415ed21ef8269f4a9f841c3f94 100644 (file)
@@ -2242,6 +2242,8 @@ static void handle_activate_ducking(DBusConnection *conn, DBusMessage *msg, void
 
     /* set volume ramp factor to target stream */
     PA_IDXSET_FOREACH(i, m->core->sink_inputs, idx) {
+        if (pa_safe_streq(VIRTUAL_STREAM_NAME, pa_proplist_gets(i->proplist, PA_PROP_MEDIA_NAME)))
+            continue;
         if (!pa_safe_streq(target_stream, pa_proplist_gets(i->proplist, PA_PROP_MEDIA_ROLE)))
             continue;
 
index aeb0ac9597f2f341aca79791bc1231f6fb614591..390b15686f97667bf4345c176f018e46d8a9b67f 100644 (file)
@@ -123,6 +123,8 @@ typedef enum _stream_ducking_state {
 #define STREAM_FOCUS_STATE_RELEASED    "0"
 #define STREAM_FOCUS_STATE_ACQUIRED    "1"
 
+#define VIRTUAL_STREAM_NAME "VIRTUAL_STREAM" /* The virtual stream created by sound-manager */
+
 #define VOLUME_KEY_LENGTH              24
 #define STREAM_ROLE_STR_MAX            32
 
index 0ce45e272cb30b97fd7ec9b3b34fcce86ca7f247..076b8429d2ffeb7bf6e67b79598448c26d97f7f1 100644 (file)
@@ -67,7 +67,7 @@
 
 #define STREAM_MANAGER_CLIENT_INFO    "SOUND_MANAGER_STREAM_INFO"    /* The stream info client via sound-manager */
 #define STREAM_MANAGER_CLIENT_DUCKING "SOUND_MANAGER_STREAM_DUCKING" /* The ducking client via sound-manager */
-#define VIRTUAL_STREAM_NAME "VIRTUAL_STREAM" /* The virtual stream created by sound-manager */
+
 #define DEFAULT_ROLE "media"
 #define SKIP_ROLE "skip"
 #define ACTIVE_DEV_REMOVED "removed"