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