audio: use vendor properties
This commit is contained in:
@@ -93,7 +93,7 @@ static int probe_pcm_out_card() {
|
|||||||
char card_id[16];
|
char card_id[16];
|
||||||
|
|
||||||
char card_prop[PROPERTY_VALUE_MAX];
|
char card_prop[PROPERTY_VALUE_MAX];
|
||||||
property_get("persist.audio.device", card_prop, "");
|
property_get("persist.vendor.audio.device", card_prop, "");
|
||||||
|
|
||||||
for (int i = 0; i < 5; i++) {
|
for (int i = 0; i < 5; i++) {
|
||||||
snprintf(card_node, sizeof(card_node), "/proc/asound/card%d/id", i);
|
snprintf(card_node, sizeof(card_node), "/proc/asound/card%d/id", i);
|
||||||
@@ -121,18 +121,18 @@ static int probe_pcm_out_card() {
|
|||||||
static int get_pcm_card()
|
static int get_pcm_card()
|
||||||
{
|
{
|
||||||
char card[PROPERTY_VALUE_MAX];
|
char card[PROPERTY_VALUE_MAX];
|
||||||
property_get("persist.audio.pcm.card.auto", card, "false");
|
property_get("persist.vendor.audio.pcm.card.auto", card, "false");
|
||||||
if (!strcmp(card, "true"))
|
if (!strcmp(card, "true"))
|
||||||
return probe_pcm_out_card();
|
return probe_pcm_out_card();
|
||||||
|
|
||||||
property_get("persist.audio.pcm.card", card, "0");
|
property_get("persist.vendor.audio.pcm.card", card, "0");
|
||||||
return atoi(card);
|
return atoi(card);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int get_pcm_device()
|
static int get_pcm_device()
|
||||||
{
|
{
|
||||||
char device[PROPERTY_VALUE_MAX];
|
char device[PROPERTY_VALUE_MAX];
|
||||||
property_get("persist.audio.pcm.device", device, "0");
|
property_get("persist.vendor.audio.pcm.device", device, "0");
|
||||||
return atoi(device);
|
return atoi(device);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -89,7 +89,7 @@ struct alsa_stream_out {
|
|||||||
|
|
||||||
static void get_alsa_device_name(char *name) {
|
static void get_alsa_device_name(char *name) {
|
||||||
char hdmi_device[PROPERTY_VALUE_MAX];
|
char hdmi_device[PROPERTY_VALUE_MAX];
|
||||||
property_get("persist.audio.hdmi.device", hdmi_device, "vc4hdmi0");
|
property_get("persist.vendor.audio.hdmi.device", hdmi_device, "vc4hdmi0");
|
||||||
|
|
||||||
// use card configured in vc4-hdmi.conf to get IEC958 subframe conversion
|
// use card configured in vc4-hdmi.conf to get IEC958 subframe conversion
|
||||||
sprintf(name, "default:CARD=%s", hdmi_device);
|
sprintf(name, "default:CARD=%s", hdmi_device);
|
||||||
|
1
sepolicy/hal_audio_default.te
Normal file
1
sepolicy/hal_audio_default.te
Normal file
@@ -0,0 +1 @@
|
|||||||
|
get_prop(hal_audio_default, vendor_audio_config_prop)
|
@@ -1 +1,2 @@
|
|||||||
|
vendor_internal_prop(vendor_audio_config_prop)
|
||||||
vendor_internal_prop(vendor_hdmi_config_prop)
|
vendor_internal_prop(vendor_hdmi_config_prop)
|
||||||
|
@@ -1,2 +1,9 @@
|
|||||||
|
# Audio
|
||||||
|
persist.vendor.audio.device u:object_r:vendor_audio_config_prop:s0
|
||||||
|
persist.vendor.audio.hdmi.device u:object_r:vendor_audio_config_prop:s0
|
||||||
|
persist.vendor.audio.pcm.card.auto u:object_r:vendor_audio_config_prop:s0
|
||||||
|
persist.vendor.audio.pcm.card u:object_r:vendor_audio_config_prop:s0
|
||||||
|
persist.vendor.audio.pcm.device u:object_r:vendor_audio_config_prop:s0
|
||||||
|
|
||||||
# CEC
|
# CEC
|
||||||
persist.vendor.hdmi.cec_device u:object_r:vendor_hdmi_config_prop:s0
|
persist.vendor.hdmi.cec_device u:object_r:vendor_hdmi_config_prop:s0
|
||||||
|
1
sepolicy/vendor_init.te
Normal file
1
sepolicy/vendor_init.te
Normal file
@@ -0,0 +1 @@
|
|||||||
|
set_prop(vendor_init, vendor_audio_config_prop)
|
@@ -1,7 +1,7 @@
|
|||||||
# Audio
|
# Audio
|
||||||
persist.audio.device=jack
|
persist.vendor.audio.device=jack
|
||||||
persist.audio.hdmi.device=vc4hdmi0
|
persist.vendor.audio.hdmi.device=vc4hdmi0
|
||||||
persist.audio.pcm.card.auto=true
|
persist.vendor.audio.pcm.card.auto=true
|
||||||
ro.config.media_vol_default=20
|
ro.config.media_vol_default=20
|
||||||
ro.config.media_vol_steps=25
|
ro.config.media_vol_steps=25
|
||||||
ro.hardware.audio.primary=rpi
|
ro.hardware.audio.primary=rpi
|
||||||
|
Reference in New Issue
Block a user