1
0
Fork 0
forked from len0rd/rockbox

nwz/alsa: various improvements

Also audiohw driver to specific device name, rewrite alsa controls code to
cache more data, thus making the code easier and use less stack. Avoid using
short/long in pcm alsa code since it's the wrong size on 64-bit (simulator
for example)

Change-Id: Ibc1ec44396e37b6cbdedbcf37300878638e5d2d3
This commit is contained in:
Amaury Pouly 2018-02-19 16:28:11 +11:00 committed by Solomon Peachy
parent ce9e7e7122
commit dd82f13fa1
10 changed files with 122 additions and 93 deletions

View file

@ -67,7 +67,7 @@ static void hw_close(void)
void audiohw_preinit(void)
{
alsa_controls_init();
alsa_controls_init("default");
hw_open();
// NOTE:
// Of the exported controls, only these do anything:
@ -130,7 +130,7 @@ void audiohw_set_volume(int vol_l, int vol_r)
if (!muted) {
alsa_controls_set_ints("DACL Playback Volume", 1, &vol_hw[0]);
alsa_controls_set_ints("DACR Playback Volume", 1, &vol_hw[1]);
pcm_alsa_set_digital_volume(vol_sw[0], vol_sw[1]);
pcm_set_mixer_volume(vol_sw[0], vol_sw[1]);
}
}
@ -147,13 +147,13 @@ void audiohw_mute(int mute)
{
alsa_controls_set_ints("DACL Playback Volume", 1, &vol0);
alsa_controls_set_ints("DACR Playback Volume", 1, &vol0);
pcm_alsa_set_digital_volume(0, 0);
pcm_set_mixer_volume(0, 0);
}
else
{
alsa_controls_set_ints("DACL Playback Volume", 1, &vol_hw[0]);
alsa_controls_set_ints("DACR Playback Volume", 1, &vol_hw[1]);
pcm_alsa_set_digital_volume(vol_sw[0], vol_sw[1]);
pcm_set_mixer_volume(vol_sw[0], vol_sw[1]);
}
}