Unified · Split
| @@ -195,7 +195,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in) · 194 unmodified lines | ||
| 195 | 195 | float *fsamples = s->fsamples; |
| 196 | 196 | int ch, i; |
| 197 | 197 | |
| 198 | − AVFrame *out = ff_get_audio_buffer(outlink, s->winlen); | |
| 198 | + AVFrame *out = ff_get_audio_buffer(outlink, in->nb_samples); | |
| 199 | 199 | float *src, *dst, *ptr; |
| 200 | 200 | |
| 201 | 201 | if (!out) { |
| @@ -231,7 +231,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in) · 29 unmodified lines | ||
| 231 | 231 | dst[i] += fsamples[i] / s->tabsize; |
| 232 | 232 | for (i = s->winlen; i < s->tabsize; i++) |
| 233 | 233 | dst[i] = fsamples[i] / s->tabsize; |
| 234 | − for (i = 0; i < s->winlen; i++) | |
| 234 | + for (i = 0; i < out->nb_samples; i++) | |
| 235 | 235 | ptr[i] = dst[i]; |
| 236 | 236 | for (i = 0; i < s->winlen; i++) |
| 237 | 237 | dst[i] = dst[i+s->winlen]; |