From 30457bb21e9325fb43e4e163db29b9376f5615a6 Mon Sep 17 00:00:00 2001 From: Anurup M Date: Thu, 29 Jul 2021 23:46:48 +0530 Subject: [PATCH] fixed f8b74cb from https://gitee.com/sulavmulmi/multimedia_audio_standard/pulls/24 run audio service as system --- frameworks/innerkitsimpl/pulseaudio/conf/client.conf | 2 +- frameworks/innerkitsimpl/pulseaudio/conf/default.pa | 2 +- .../pulseaudio/src/daemon/ohos_pa_main.c | 9 ++++++--- services/etc/audio_policy.rc | 2 ++ services/etc/pulseaudio.rc | 12 +++++++----- 5 files changed, 17 insertions(+), 10 deletions(-) diff --git a/frameworks/innerkitsimpl/pulseaudio/conf/client.conf b/frameworks/innerkitsimpl/pulseaudio/conf/client.conf index 9e40ae269b..685ea37e73 100644 --- a/frameworks/innerkitsimpl/pulseaudio/conf/client.conf +++ b/frameworks/innerkitsimpl/pulseaudio/conf/client.conf @@ -16,5 +16,5 @@ ## Configuration file for PulseAudio clients. See pulse-client.conf(5) for ## more information. Default values are commented out. Use either ; or # for ## commenting. -cookie-file = /data/local/.pulse_dir/cookie +cookie-file = /data/data/.pulse_dir/cookie diff --git a/frameworks/innerkitsimpl/pulseaudio/conf/default.pa b/frameworks/innerkitsimpl/pulseaudio/conf/default.pa index 1f08228fb4..96cd76a0be 100644 --- a/frameworks/innerkitsimpl/pulseaudio/conf/default.pa +++ b/frameworks/innerkitsimpl/pulseaudio/conf/default.pa @@ -22,7 +22,7 @@ # Load mandatory modules load-module libmodule-cli-protocol-unix.z.so -load-module libmodule-native-protocol-unix.z.so auth-cookie=/data/local/.pulse_dir/cookie +load-module libmodule-native-protocol-unix.z.so auth-cookie=/data/data/.pulse_dir/cookie ### Load audio drivers statically ### (it's probably better to not load these drivers manually, but instead diff --git a/frameworks/innerkitsimpl/pulseaudio/src/daemon/ohos_pa_main.c b/frameworks/innerkitsimpl/pulseaudio/src/daemon/ohos_pa_main.c index 34525aac6f..51ed63e489 100644 --- a/frameworks/innerkitsimpl/pulseaudio/src/daemon/ohos_pa_main.c +++ b/frameworks/innerkitsimpl/pulseaudio/src/daemon/ohos_pa_main.c @@ -918,16 +918,18 @@ int ohos_pa_main(int argc, char *argv[]) { pa_set_env_and_record("PULSE_INTERNAL", "1"); pa_assert_se(chdir("/") == 0); +#ifdef HAVE_NO_OHOS umask(0077); - +#endif #ifdef HAVE_SYS_RESOURCE_H set_all_rlimits(conf); #endif pa_rtclock_hrtimer_enable(); +#ifdef HAVE_NO_OHOS if (conf->high_priority) pa_raise_priority(conf->nice_level); - +#endif if (conf->system_instance) if (change_user() < 0) goto finish; @@ -1005,10 +1007,11 @@ int ohos_pa_main(int argc, char *argv[]) { pa_log_info("Running in system mode: %s", pa_yes_no(pa_in_system_mode())); +#ifdef HAVE_NO_OHOS if (pa_in_system_mode()) pa_log_warn(_("OK, so you are running PA in system mode. Please make sure that you actually do want to do that.\n" "Please read http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/WhatIsWrongWithSystemWide/ for an explanation why system mode is usually a bad idea.")); - +#endif if (conf->use_pid_file) { int z; pa_pid_file_remove(); diff --git a/services/etc/audio_policy.rc b/services/etc/audio_policy.rc index 9e9f3f594a..5238a5a441 100644 --- a/services/etc/audio_policy.rc +++ b/services/etc/audio_policy.rc @@ -14,6 +14,8 @@ service audio_policy /system/bin/sa_main /system/profile/audio_policy.xml class z_core seclabel u:r:audiodistributedservice:s0 + user system + group system shell disabled on audio_policy_start diff --git a/services/etc/pulseaudio.rc b/services/etc/pulseaudio.rc index cec5b2a6d8..257bd5b8dd 100644 --- a/services/etc/pulseaudio.rc +++ b/services/etc/pulseaudio.rc @@ -14,14 +14,16 @@ service pulseaudio /system/bin/sa_main /system/profile/pulseaudio.xml class z_core seclabel u:r:audiodistributedservice:s0 + user system + group system shell disabled on post-fs-data - mkdir /data/local/.pulse_dir - chmod 755 /data/local/.pulse_dir - chown system shell /data/local/.pulse_dir - export PULSE_STATE_PATH "/data/local/.pulse_dir" - export PULSE_RUNTIME_PATH "/data/local/.pulse_dir" + mkdir /data/data/.pulse_dir + chmod 777 /data/data/.pulse_dir + chown system system /data/data/.pulse_dir + export PULSE_STATE_PATH "/data/data/.pulse_dir" + export PULSE_RUNTIME_PATH "/data/data/.pulse_dir" start pulseaudio exec /system/bin/sleep 4 trigger audio_policy_start -- Gitee