static const AVOption atempo_options[] = {
{ "tempo", "set tempo scale factor",
- OFFSET(tempo), AV_OPT_TYPE_DOUBLE, { .dbl = 1.0 }, 0.5, 2.0,
+ OFFSET(tempo), AV_OPT_TYPE_DOUBLE, { .dbl = 1.0 }, 0.5, 100.0,
AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_FILTERING_PARAM },
{ NULL }
};
return 0;
}
- // samples are not expected to be skipped:
- av_assert0(read_size <= atempo->ring);
+ // samples are not expected to be skipped, unless tempo is greater than 2:
+ av_assert0(read_size <= atempo->ring || atempo->tempo > 2.0);
while (atempo->position[0] < stop_here && src < src_end) {
int src_samples = (src_end - src) / atempo->stride;