stream-manager-dbus: Skip virtual stream for ducking streams 98/253398/2 accepted/tizen/unified/20210215.130924 submit/tizen/20210210.091601
authorJeongmo Yang <jm80.yang@samsung.com>
Tue, 9 Feb 2021 11:52:10 +0000 (20:52 +0900)
committerJeongmo Yang <jm80.yang@samsung.com>
Tue, 9 Feb 2021 12:18:42 +0000 (21:18 +0900)
- The ducking state is never changed because of virtual stream.

[Version] 13.0.47
[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 0b5626f..9270deb 100644 (file)
@@ -1,6 +1,6 @@
 Name:             pulseaudio-modules-tizen
 Summary:          Pulseaudio modules for Tizen
-Version:          13.0.46
+Version:          13.0.47
 Release:          0
 Group:            Multimedia/Audio
 License:          LGPL-2.1+
index 3545cd1..d9320f5 100644 (file)
@@ -2101,6 +2101,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 aeb0ac9..390b156 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 d611844..034bf0a 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"