summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2014-12-06 11:16:12 +0000
committerAlessandro Ghedini <alessandro@ghedini.me>2014-12-08 00:04:42 +0100
commit4de6f4f616ded109ef0fe852c02a266ca8bd33e1 (patch)
tree679903240e1b41e4cf6c9adae14581dafde8b9a4
parent7c53bb4bb13d477e359da11a7866583b38bb89a4 (diff)
downloadmpv-4de6f4f616ded109ef0fe852c02a266ca8bd33e1.tar.bz2
mpv-4de6f4f616ded109ef0fe852c02a266ca8bd33e1.tar.xz
af_hrtf: Fix out-of-range read.
Based on patch by Yuriy Kaminskiy [yumkam gmail]. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@37330 b3059339-0415-0410-9bf9-f77b7e298cf2 Signed-off-by: wm4 <wm4@nowhere>
-rw-r--r--audio/filter/af_hrtf.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/audio/filter/af_hrtf.c b/audio/filter/af_hrtf.c
index 4fb382aff4..5dc08f2dbf 100644
--- a/audio/filter/af_hrtf.c
+++ b/audio/filter/af_hrtf.c
@@ -280,8 +280,13 @@ static inline void update_ch(af_hrtf_t *s, short *in, const int k)
}
/* We need to update the bass compensation delay line, too. */
- s->ba_l[k] = in[0] + in[4] + in[2];
- s->ba_r[k] = in[4] + in[1] + in[3];
+ // TODO: should this use lf/cf/rf etc. instead?
+ s->ba_l[k] = in[0];
+ s->ba_r[k] = in[1];
+ if (s->decode_mode == HRTF_MIX_51) {
+ s->ba_l[k] += in[4] + in[2];
+ s->ba_r[k] += in[4] + in[3];
+ }
}
static void clear_coeff(af_hrtf_t *s, float *c)