From 12c39929630012d40e8b7a096f2382072e9749a7 Mon Sep 17 00:00:00 2001
From: Jean-Marc Valin <jmvalin@jmvalin.ca>
Date: Sun, 4 Sep 2011 11:00:29 -0400
Subject: [PATCH] Fixes a buffering bug introduced in 2f0ca7618

---
 src/opus_encoder.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/opus_encoder.c b/src/opus_encoder.c
index d81c89fa9..91707c2af 100644
--- a/src/opus_encoder.c
+++ b/src/opus_encoder.c
@@ -758,7 +758,9 @@ int opus_encode_float(OpusEncoder *st, const opus_val16 *pcm, int frame_size,
         nb_compr_bytes = 0;
     }
 
-    for (i=0;i<st->encoder_buffer*st->channels;i++)
+    for (i=0;i<st->channels*(st->encoder_buffer-(frame_size+st->delay_compensation));i++)
+        st->delay_buffer[i] = st->delay_buffer[i+st->channels*frame_size];
+    for (;i<st->encoder_buffer*st->channels;i++)
         st->delay_buffer[i] = pcm_buf[(frame_size+st->delay_compensation-st->encoder_buffer)*st->channels+i];
 
 
-- 
GitLab