-
-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathaml.sh
152 lines (139 loc) · 6.21 KB
/
aml.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
[ ! "$MODPATH" ] && MODPATH=${0%/*}
# destination
MODAPCS=`find $MODPATH -type f -name *policy*.conf`
MODAPXS=`find $MODPATH -type f -name *policy*.xml`
MODAPIS=`find $MODPATH -type f -name *audio*platform*info*.xml`
MODMPS=`find $MODPATH -type f -name *mixer*paths*.xml`
# function
patch_audio_format_pcm() {
# patch audio policy conf
for MODAPC in $MODAPCS; do
if ! grep -q deep_buffer_24 $MODAPC; then
sed -i '/^outputs/a\
deep_buffer_24 {\
flags AUDIO_OUTPUT_FLAG_DEEP_BUFFER\
formats AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_8_24_BIT\
sampling_rates 44100|48000\
bit_width 24\
app_type 69940\
}' $MODAPC
fi
#p if ! grep -q default_24bit $MODAPC; then
#p sed -i '/^outputs/a\
#p default_24bit {\
#p flags AUDIO_OUTPUT_FLAG_PRIMARY\
#p formats AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_8_24_BIT\
#p sampling_rates 44100|48000\
#p bit_width 24\
#p app_type 69937\
#p }' $MODAPC
#p fi
#32 if ! grep -q deep_buffer_32 $MODAPC; then
#32 sed -i '/^outputs/a\
#32 deep_buffer_32 {\
#32 flags AUDIO_OUTPUT_FLAG_DEEP_BUFFER\
#32 formats AUDIO_FORMAT_PCM_32_BIT\
#32 sampling_rates 44100|48000\
#32 bit_width 32\
#32 app_type 69940\
#32 }' $MODAPC
#32 fi
#32#p if ! grep -q default_32bit $MODAPC; then
#32#p sed -i '/^outputs/a\
#32#p default_32bit {\
#32#p flags AUDIO_OUTPUT_FLAG_PRIMARY\
#32#p formats AUDIO_FORMAT_PCM_32_BIT\
#32#p sampling_rates 44100|48000\
#32#p bit_width 32\
#32#p app_type 69937\
#32#p }' $MODAPC
#32#p fi
#f if ! grep -q deep_buffer_float $MODAPC; then
#f sed -i '/^outputs/a\
#f deep_buffer_float {\
#f flags AUDIO_OUTPUT_FLAG_DEEP_BUFFER\
#f formats AUDIO_FORMAT_PCM_FLOAT\
#f sampling_rates 44100|48000\
#f app_type 69940\
#f }' $MODAPC
#f fi
#f#p if ! grep -q default_float $MODAPC; then
#f#p sed -i '/^outputs/a\
#f#p default_float {\
#f#p flags AUDIO_OUTPUT_FLAG_PRIMARY\
#f#p formats AUDIO_FORMAT_PCM_FLOAT\
#f#p sampling_rates 44100|48000\
#f#p app_type 69937\
#f#p }' $MODAPC
#f#p fi
done
# patch audio policy xml
for MODAPX in $MODAPXS; do
sed -i '/AUDIO_OUTPUT_FLAG_DEEP_BUFFER/a\
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"\
samplingRates="44100,48000"\
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>\
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"\
samplingRates="44100,48000"\
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>' $MODAPX
#p sed -i '/AUDIO_OUTPUT_FLAG_PRIMARY/a\
#p <profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"\
#p samplingRates="44100,48000"\
#p channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>\
#p <profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"\
#p samplingRates="44100,48000"\
#p channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>' $MODAPX
#32 sed -i '/AUDIO_OUTPUT_FLAG_DEEP_BUFFER/a\
#32 <profile name="" format="AUDIO_FORMAT_PCM_32_BIT"\
#32 samplingRates="44100,48000"\
#32 channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>' $MODAPX
#32#p sed -i '/AUDIO_OUTPUT_FLAG_PRIMARY/a\
#32#p <profile name="" format="AUDIO_FORMAT_PCM_32_BIT"\
#32#p samplingRates="44100,48000"\
#32#p channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>' $MODAPX
#f sed -i '/AUDIO_OUTPUT_FLAG_DEEP_BUFFER/a\
#f <profile name="" format="AUDIO_FORMAT_PCM_FLOAT"\
#f samplingRates="44100,48000"\
#f channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>' $MODAPX
#f#p sed -i '/AUDIO_OUTPUT_FLAG_PRIMARY/a\
#f#p <profile name="" format="AUDIO_FORMAT_PCM_FLOAT"\
#f#p samplingRates="44100,48000"\
#f#p channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>' $MODAPX
done
}
# patch audio format pcm
#cpatch_audio_format_pcm
# patch audio platform info
for MODAPI in $MODAPIS; do
if ! grep -q '<bit_width_configs>' $MODAPI; then
sed -i '/<audio_platform_info>/a\
<bit_width_configs>\
<device name="SND_DEVICE_OUT_HEADPHONES" bit_width="24"/>\
<device name="SND_DEVICE_OUT_SPEAKER" bit_width="24"/>\
</bit_width_configs>' $MODAPI
fi
if ! grep -q '<device name="SND_DEVICE_OUT_SPEAKER" bit_width=' $MODAPI; then
sed -i '/<bit_width_configs>/a\
<device name="SND_DEVICE_OUT_SPEAKER" bit_width="24"/>' $MODAPI
fi
if ! grep -q '<device name="SND_DEVICE_OUT_HEADPHONES" bit_width=' $MODAPI; then
sed -i '/<bit_width_configs>/a\
<device name="SND_DEVICE_OUT_HEADPHONES" bit_width="24"/>' $MODAPI
fi
sed -i 's|<device name="SND_DEVICE_OUT_HEADPHONES" bit_width="16"|<device name="SND_DEVICE_OUT_HEADPHONES" bit_width="24"|g' $MODAPI
sed -i 's|<device name="SND_DEVICE_OUT_SPEAKER" bit_width="16"|<device name="SND_DEVICE_OUT_SPEAKER" bit_width="24"|g' $MODAPI
#32 sed -i 's|<device name="SND_DEVICE_OUT_HEADPHONES" bit_width="24"|<device name="SND_DEVICE_OUT_HEADPHONES" bit_width="32"|g' $MODAPI
#32 sed -i 's|<device name="SND_DEVICE_OUT_SPEAKER" bit_width="24"|<device name="SND_DEVICE_OUT_SPEAKER" bit_width="32"|g' $MODAPI
#s16 sed -i 's|<device name="SND_DEVICE_OUT_SPEAKER" bit_width="24"|<device name="SND_DEVICE_OUT_SPEAKER" bit_width="16"|g' $MODAPI
#s16 sed -i 's|<device name="SND_DEVICE_OUT_SPEAKER" bit_width="32"|<device name="SND_DEVICE_OUT_SPEAKER" bit_width="16"|g' $MODAPI
#s24 sed -i 's|<device name="SND_DEVICE_OUT_SPEAKER" bit_width="16"|<device name="SND_DEVICE_OUT_SPEAKER" bit_width="24"|g' $MODAPI
#s24 sed -i 's|<device name="SND_DEVICE_OUT_SPEAKER" bit_width="32"|<device name="SND_DEVICE_OUT_SPEAKER" bit_width="24"|g' $MODAPI
done
# patch mixer path
for MODMP in $MODMPS; do
if ! grep -q hph-highquality-mode $MODMP; then
sed -i '/<\/mixer>/i\
<path name="hph-highquality-mode">\
<\/path>\' $MODMP
fi
done