summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Conrad <dconrad@fastmail.com>2021-08-10 18:14:32 -0500
committerDana Conrad <dconrad@fastmail.com>2021-08-10 18:15:53 -0500
commit77a98ada1255ecf38b7f59924bb13673a5fd4121 (patch)
tree3d2e831eba6d03ac27394aa158e479cf9c0e3a56
parentcdd1f901313a15d13531aecf85b97bc668af4793 (diff)
downloadrockbox-77a98ada1255ecf38b7f59924bb13673a5fd4121.tar.gz
rockbox-77a98ada1255ecf38b7f59924bb13673a5fd4121.zip
Eros Q Native: Make Mute logic channel-independent
An oversight on my part meant that setting channel balance to 100% L or 100% R would mute both channels - this logic will prevent that. Change-Id: I912c2745784fbbbd7a773e1234179801f2ca4680
-rw-r--r--firmware/drivers/audio/eros_qn_codec.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/firmware/drivers/audio/eros_qn_codec.c b/firmware/drivers/audio/eros_qn_codec.c
index 17b0acf13e..da50d62fe5 100644
--- a/firmware/drivers/audio/eros_qn_codec.c
+++ b/firmware/drivers/audio/eros_qn_codec.c
@@ -70,14 +70,10 @@ void audiohw_set_volume(int vol_l, int vol_r)
70 } 70 }
71#endif 71#endif
72 72
73 if (l <= PCM5102A_VOLUME_MIN || r <= PCM5102A_VOLUME_MIN) 73 l = l <= PCM5102A_VOLUME_MIN ? PCM_MUTE_LEVEL : (l / 20);
74 { 74 r = r <= PCM5102A_VOLUME_MIN ? PCM_MUTE_LEVEL : (r / 20);
75 pcm_set_master_volume(PCM_MUTE_LEVEL, PCM_MUTE_LEVEL); 75
76 } 76 pcm_set_master_volume(l, r);
77 else
78 {
79 pcm_set_master_volume(l/20, r/20);
80 }
81} 77}
82 78
83void audiohw_mute_hp(int mute) 79void audiohw_mute_hp(int mute)