diff --git a/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio/0001-pulseaudio-keep-headphones-volume-in-platforms-witho.patch b/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio/0001-pulseaudio-keep-headphones-volume-in-platforms-witho.patch index 3652af0e4..061d962b0 100644 --- a/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio/0001-pulseaudio-keep-headphones-volume-in-platforms-witho.patch +++ b/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio/0001-pulseaudio-keep-headphones-volume-in-platforms-witho.patch @@ -10,10 +10,10 @@ Signed-off-by: Hector Palacios 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/modules/alsa/mixer/paths/analog-output-headphones.conf b/src/modules/alsa/mixer/paths/analog-output-headphones.conf -index b6ee70ba84c5..ddc0918d3a12 100644 +index 88907f081..7c94fa57d 100644 --- a/src/modules/alsa/mixer/paths/analog-output-headphones.conf +++ b/src/modules/alsa/mixer/paths/analog-output-headphones.conf -@@ -81,8 +81,8 @@ override-map.2 = all-left,all-right +@@ -88,8 +88,8 @@ override-map.2 = all-left,all-right [Element Headphone] required-any = any @@ -25,10 +25,10 @@ index b6ee70ba84c5..ddc0918d3a12 100644 override-map.2 = all-left,all-right diff --git a/src/modules/alsa/mixer/paths/analog-output-speaker.conf b/src/modules/alsa/mixer/paths/analog-output-speaker.conf -index 39193dd8851e..5183be2bbe4f 100644 +index fcf2f5c2f..822c9e39c 100644 --- a/src/modules/alsa/mixer/paths/analog-output-speaker.conf +++ b/src/modules/alsa/mixer/paths/analog-output-speaker.conf -@@ -73,8 +73,8 @@ volume = off +@@ -91,8 +91,8 @@ volume = off ; This profile path is intended to control the speaker, let's mute headphones ; else there will be a spike when plugging in headphones [Element Headphone] @@ -37,5 +37,5 @@ index 39193dd8851e..5183be2bbe4f 100644 +switch = on +volume = ignore - [Element Headphone2] + [Element Headphone,1] switch = off diff --git a/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio/0002-Revert-bluetooth-Fix-crash-when-disabling-Bluetooth-.patch b/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio/0002-Revert-bluetooth-Fix-crash-when-disabling-Bluetooth-.patch new file mode 100755 index 000000000..671261ab6 --- /dev/null +++ b/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio/0002-Revert-bluetooth-Fix-crash-when-disabling-Bluetooth-.patch @@ -0,0 +1,94 @@ +From 42debd7e749768a7ee76a1a3e3cb4be1a72b089f Mon Sep 17 00:00:00 2001 +From: Shengjiu Wang +Date: Tue, 12 Jan 2021 14:28:24 +0800 +Subject: [PATCH] Revert "bluetooth: Fix crash when disabling Bluetooth + adapter" + +This reverts commit f89d64b98e12bb71b6aa94fcef31eafc060f9759. +When make the bluetooth HFP call, will meet pulseaudio been auto killed issue +this is caused by this patch, revert this patch will fix the pulseaudio been +auto killed issue. + +--- + src/modules/bluetooth/backend-ofono.c | 18 ------------------ + src/modules/bluetooth/bluez5-util.c | 2 -- + src/modules/bluetooth/bluez5-util.h | 1 - + 3 files changed, 21 deletions(-) + +diff --git a/src/modules/bluetooth/backend-ofono.c b/src/modules/bluetooth/backend-ofono.c +index 0e5bbe8b7da4..1f0efe923d23 100644 +--- a/src/modules/bluetooth/backend-ofono.c ++++ b/src/modules/bluetooth/backend-ofono.c +@@ -70,7 +70,6 @@ struct hf_audio_card { + int (*acquire)(struct hf_audio_card *card); + + pa_bluetooth_transport *transport; +- pa_hook_slot *device_unlink_slot; + }; + + struct pa_bluetooth_backend { +@@ -182,17 +181,6 @@ static int card_acquire(struct hf_audio_card *card) { + return -1; + } + +-static void hf_audio_agent_card_removed(pa_bluetooth_backend *backend, const char *path); +- +-static pa_hook_result_t device_unlink_cb(pa_bluetooth_discovery *y, const pa_bluetooth_device *d, struct hf_audio_card *card) { +- pa_assert(d); +- pa_assert(card); +- +- hf_audio_agent_card_removed(card->backend, card->path); +- +- return PA_HOOK_OK; +-} +- + static struct hf_audio_card *hf_audio_card_new(pa_bluetooth_backend *backend, const char *path) { + struct hf_audio_card *card = pa_xnew0(struct hf_audio_card, 1); + +@@ -201,18 +189,12 @@ static struct hf_audio_card *hf_audio_card_new(pa_bluetooth_backend *backend, co + card->fd = -1; + card->acquire = card_acquire; + +- card->device_unlink_slot = pa_hook_connect(pa_bluetooth_discovery_hook(backend->discovery, PA_BLUETOOTH_HOOK_DEVICE_UNLINK), +- PA_HOOK_NORMAL, (pa_hook_cb_t) device_unlink_cb, card); +- + return card; + } + + static void hf_audio_card_free(struct hf_audio_card *card) { + pa_assert(card); + +- if (card->device_unlink_slot) +- pa_hook_slot_free(card->device_unlink_slot); +- + if (card->transport) + pa_bluetooth_transport_free(card->transport); + +diff --git a/src/modules/bluetooth/bluez5-util.c b/src/modules/bluetooth/bluez5-util.c +index a21896ede5f7..4439710d0e7f 100644 +--- a/src/modules/bluetooth/bluez5-util.c ++++ b/src/modules/bluetooth/bluez5-util.c +@@ -562,8 +562,6 @@ static void device_free(pa_bluetooth_device *d) { + + device_stop_waiting_for_profiles(d); + +- pa_hook_fire(&d->discovery->hooks[PA_BLUETOOTH_HOOK_DEVICE_UNLINK], d); +- + for (i = 0; i < PA_BLUETOOTH_PROFILE_COUNT; i++) { + pa_bluetooth_transport *t; + +diff --git a/src/modules/bluetooth/bluez5-util.h b/src/modules/bluetooth/bluez5-util.h +index ff172e0258eb..82739bffd0d8 100644 +--- a/src/modules/bluetooth/bluez5-util.h ++++ b/src/modules/bluetooth/bluez5-util.h +@@ -47,7 +47,6 @@ typedef struct pa_bluetooth_backend pa_bluetooth_backend; + + typedef enum pa_bluetooth_hook { + PA_BLUETOOTH_HOOK_DEVICE_CONNECTION_CHANGED, /* Call data: pa_bluetooth_device */ +- PA_BLUETOOTH_HOOK_DEVICE_UNLINK, /* Call data: pa_bluetooth_device */ + PA_BLUETOOTH_HOOK_TRANSPORT_STATE_CHANGED, /* Call data: pa_bluetooth_transport */ + PA_BLUETOOTH_HOOK_TRANSPORT_MICROPHONE_GAIN_CHANGED, /* Call data: pa_bluetooth_transport */ + PA_BLUETOOTH_HOOK_TRANSPORT_SPEAKER_GAIN_CHANGED, /* Call data: pa_bluetooth_transport */ +-- +2.27.0 + diff --git a/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio/imx/daemon.conf b/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio/imx/daemon.conf new file mode 100644 index 000000000..3bb4bb036 --- /dev/null +++ b/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio/imx/daemon.conf @@ -0,0 +1,87 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA. + +## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for +## more information. Default values are commented out. Use either ; or # for +## commenting. + +; daemonize = no +; fail = yes +; allow-module-loading = yes +; allow-exit = yes +; use-pid-file = yes +; system-instance = no +; local-server-type = user +; enable-shm = yes +; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB +; lock-memory = no +; cpu-limit = no + +; high-priority = yes +; nice-level = -11 + +; realtime-scheduling = yes +; realtime-priority = 5 + +exit-idle-time = -1 +; scache-idle-time = 20 + +; dl-search-path = (depends on architecture) + +; load-default-script-file = yes +; default-script-file = /etc/pulse/default.pa + +; log-target = auto +; log-level = notice +; log-meta = no +; log-time = no +; log-backtrace = 0 + +resample-method = ffmpeg +; enable-remixing = yes +; enable-lfe-remixing = no + +flat-volumes = no + +; rlimit-fsize = -1 +; rlimit-data = -1 +; rlimit-stack = -1 +; rlimit-core = -1 +; rlimit-as = -1 +; rlimit-rss = -1 +; rlimit-nproc = -1 +; rlimit-nofile = 256 +; rlimit-memlock = -1 +; rlimit-locks = -1 +; rlimit-sigpending = -1 +; rlimit-msgqueue = -1 +; rlimit-nice = 31 +; rlimit-rtprio = 9 +rlimit-rttime = 4000000 + +; default-sample-format = s16le +; default-sample-rate = 44100 +alternate-sample-rate = 44100 +; default-sample-channels = 2 +; default-channel-map = front-left,front-right + +; default-fragments = 4 +; default-fragment-size-msec = 25 + +; enable-deferred-volume = yes +; deferred-volume-safety-margin-usec = 8000 +; deferred-volume-extra-delay-usec = 0 diff --git a/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend b/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend index 5c461214e..54bd2f6e8 100644 --- a/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend +++ b/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend @@ -28,6 +28,7 @@ AUDIO_HDMI_ccimx6 = "yes" SRC_URI_append = " \ file://0001-Fix-pulseaudio-mutex-issue-when-do-pause-in-gstreame.patch \ + file://0002-Revert-bluetooth-Fix-crash-when-disabling-Bluetooth-.patch \ ${@oe.utils.conditional('SOUND_CARD', 'sgtl5000', '${CFG_SGTL5000}', '', d)} \ ${@oe.utils.conditional('SOUND_CARD', 'max98089', '${CFG_MAX98089}', '', d)} \ ${@oe.utils.conditional('AUDIO_HDMI', 'yes', '${CFG_HDMI}', '', d)} \