summaryrefslogtreecommitdiff
path: root/firmware/drivers/audio/xduoolinux_codec.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/drivers/audio/xduoolinux_codec.c')
-rw-r--r--firmware/drivers/audio/xduoolinux_codec.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/firmware/drivers/audio/xduoolinux_codec.c b/firmware/drivers/audio/xduoolinux_codec.c
index b114b1bbc9..59ef562d0a 100644
--- a/firmware/drivers/audio/xduoolinux_codec.c
+++ b/firmware/drivers/audio/xduoolinux_codec.c
@@ -55,6 +55,8 @@ static void hw_close(void)
55 close(fd_hw); 55 close(fd_hw);
56} 56}
57 57
58static int muted = -1;
59
58void audiohw_mute(int mute) 60void audiohw_mute(int mute)
59{ 61{
60 logf("mute %d", mute); 62 logf("mute %d", mute);
@@ -69,6 +71,7 @@ void audiohw_mute(int mute)
69 last_ps = 0; 71 last_ps = 0;
70 xduoo_get_outputs(); 72 xduoo_get_outputs();
71 } 73 }
74 muted = mute;
72} 75}
73 76
74int xduoo_get_outputs(void){ 77int xduoo_get_outputs(void){
@@ -102,7 +105,7 @@ int xduoo_get_outputs(void){
102 105
103void xduoo_set_output(int ps) 106void xduoo_set_output(int ps)
104{ 107{
105 if (!inited) return; 108 if (!inited || muted) return;
106 109
107 if (last_ps != ps) 110 if (last_ps != ps)
108 { 111 {
@@ -128,7 +131,7 @@ void audiohw_postinit(void)
128// const char * const codec_pmdown = "/sys/devices/platform/ingenic-x3ii.0/x3ii-ak4490-i2s/pmdown_time"; // in ms, defaults 5000 131// const char * const codec_pmdown = "/sys/devices/platform/ingenic-x3ii.0/x3ii-ak4490-i2s/pmdown_time"; // in ms, defaults 5000
129 132
130 logf("hw postinit"); 133 logf("hw postinit");
131 xduoo_set_output(xduoo_get_outputs()); /* Unmute */ 134 // xduoo_get_outputs(); // Unmute happens upon playback.
132} 135}
133 136
134void audiohw_close(void) 137void audiohw_close(void)