Browse Source

asyncts: reset delta to 0 when it's not used.

Fixes an invalid write.
tags/n0.11
Anton Khirnov 13 years ago
parent
commit
f297dd3812
1 changed files with 7 additions and 4 deletions
  1. +7
    -4
      libavfilter/af_asyncts.c

+ 7
- 4
libavfilter/af_asyncts.c View File

@@ -182,10 +182,13 @@ static void filter_samples(AVFilterLink *inlink, AVFilterBufferRef *buf)
if (labs(delta) > s->min_delta) {
av_log(ctx, AV_LOG_VERBOSE, "Discontinuity - %"PRId64" samples.\n", delta);
out_size += delta;
} else if (s->resample) {
int comp = av_clip(delta, -s->max_comp, s->max_comp);
av_log(ctx, AV_LOG_VERBOSE, "Compensating %d samples per second.\n", comp);
avresample_set_compensation(s->avr, delta, inlink->sample_rate);
} else {
if (s->resample) {
int comp = av_clip(delta, -s->max_comp, s->max_comp);
av_log(ctx, AV_LOG_VERBOSE, "Compensating %d samples per second.\n", comp);
avresample_set_compensation(s->avr, delta, inlink->sample_rate);
}
delta = 0;
}

if (out_size > 0) {


Loading…
Cancel
Save