avfilter/af_headphone: Check for the existence of samples
Not providing any samples makes no sense at all. And if no samples were provided for one of the HRIR streams, one would either run into an av_assert1 in ff_inlink_consume_samples() or into a segfault in take_samples() in avfilter.c. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> (cherry picked from commit dfd46e2d160afcb7e453d0e2394a6978cb447712)
This commit is contained in:
parent
33f78e278b
commit
66e8328d04
@ -631,8 +631,14 @@ static int activate(AVFilterContext *ctx)
|
||||
if ((ret = check_ir(ctx->inputs[i], i)) < 0)
|
||||
return ret;
|
||||
|
||||
if (ff_outlink_get_status(ctx->inputs[i]) == AVERROR_EOF)
|
||||
if (ff_outlink_get_status(ctx->inputs[i]) == AVERROR_EOF) {
|
||||
if (!ff_inlink_queued_samples(ctx->inputs[i])) {
|
||||
av_log(ctx, AV_LOG_ERROR, "No samples provided for "
|
||||
"HRIR stream %d.\n", i - 1);
|
||||
return AVERROR_INVALIDDATA;
|
||||
}
|
||||
s->in[i].eof = 1;
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 1; i < s->nb_inputs; i++) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user