alsa-card: use tizen_usb.conf if profile set is not exist 25/264625/3 accepted/tizen/unified/20211102.024823 submit/tizen/20211013.065833 submit/tizen/20211015.121012 submit/tizen/20211028.130831 submit/tizen/20211101.022230
authorjungsup lee <jungsup4.lee@samsung.com>
Mon, 27 Sep 2021 09:36:39 +0000 (18:36 +0900)
committerjungsup lee <jungsup4.lee@samsung.com>
Wed, 13 Oct 2021 05:59:46 +0000 (05:59 +0000)
[Version] 13.0-37
[Issue Type] Bug fix

Change-Id: Idde4aefcaa8718e26b6119147d2644685c8272b2

packaging/pulseaudio.spec
src/modules/alsa/module-alsa-card.c [changed mode: 0644->0755]

index 9f97e11..c9edbd6 100644 (file)
@@ -3,7 +3,7 @@
 Name:             pulseaudio
 Summary:          Improved Linux sound server
 Version:          13.0
-Release:          36
+Release:          37
 Group:            Multimedia/Audio
 License:          LGPL-2.1
 URL:              http://pulseaudio.org
old mode 100644 (file)
new mode 100755 (executable)
index e92b07f..e73ea98
@@ -834,11 +834,31 @@ int pa__init(pa_module *m) {
 #ifdef HAVE_UDEV
         fn = pa_udev_get_property(u->alsa_card_index, "PULSE_PROFILE_SET");
 #ifdef TIZEN_UDEV_USB_ONLY
+        FILE *f;
         pa_log("PULSE_PROFILE_SET = %s", fn);
         if (fn == NULL) {
-            fn = strdup ("tizen_usb.conf");
+            fn = strdup("tizen_usb.conf");
             pa_log("(new) PULSE_PROFILE_SET = %s", fn);
         }
+        else {
+            char *file_path = pa_maybe_prefix_path(fn,
+#ifdef HAVE_RUNNING_FROM_BUILD_TREE
+                                                   pa_run_from_build_tree() ? PA_SRCDIR "/modules/alsa/mixer/profile-sets/" :
+#endif
+                                                   PA_ALSA_PROFILE_SETS_DIR);
+
+            if (!(f = pa_fopen_cloexec(file_path, "r"))) {
+                pa_log_info("Failed to open file : %s", fn);
+                pa_xfree(fn);
+                fn = strdup("tizen_usb.conf");
+                pa_log("(new) PULSE_PROFILE_SET = %s", fn);
+            }
+            else {
+                fclose(f);
+            }
+
+            pa_xfree(file_path);
+        }
 #endif
 #endif