Fixes a hybrid stereo encoder issue
[opus.git] / src / opus_encoder.c
index d1df5bf..ee78a6e 100644 (file)
@@ -486,7 +486,7 @@ static void gain_fade(const opus_val16 *in, opus_val16 *out, opus_val16 g1, opus
        }
     }
     c=0;do {
-       for (;i<frame_size;i++)
+       for (i=overlap;i<frame_size;i++)
        {
           out[i*channels+c] = MULT16_16_Q15(g2, in[i*channels+c]);
        }
@@ -858,7 +858,7 @@ opus_int32 opus_encode_native(OpusEncoder *st, const opus_val16 *pcm, int frame_
     if (st->Fs <= 8000 && st->bandwidth > OPUS_BANDWIDTH_NARROWBAND)
         st->bandwidth = OPUS_BANDWIDTH_NARROWBAND;
 #ifndef FIXED_POINT
-    if (st->detected_bandwidth)
+    if (st->detected_bandwidth && st->user_bandwidth == OPUS_AUTO)
     {
        st->bandwidth = IMIN(st->bandwidth, st->detected_bandwidth);
     }