History

avfilter/af_afir: do not use ff_outlink_get_status() on inlinks

Paul B Mahol committed 3 years ago

Commit 447bddd1 parent 4ab11841 file · +7 −9Browse files

Unified · Split

libavfilter/af_afir.c+7−9
@@ -445,7 +445,7 @@ skip: · 444 unmodified lines
445 return 0;445 return 0;
446}446}
447 447
448static int check_ir(AVFilterLink *link)448static int check_ir(AVFilterLink *link, int selir)
449{449{
450 AVFilterContext *ctx = link->dst;450 AVFilterContext *ctx = link->dst;
451 AudioFIRContext *s = ctx->priv;451 AudioFIRContext *s = ctx->priv;
@@ -458,6 +458,9 @@ static int check_ir(AVFilterLink *link) · 6 unmodified lines
458 return AVERROR(EINVAL);458 return AVERROR(EINVAL);
459 }459 }
460 460
461 if (ff_inlink_check_available_samples(link, nb_taps + 1) == 1)
462 s->eof_coeffs[selir] = 1;
463
461 return 0;464 return 0;
462}465}
463 466
@@ -480,13 +483,10 @@ static int activate(AVFilterContext *ctx) · 16 unmodified lines
480 continue;483 continue;
481 484
482 if (!s->eof_coeffs[selir]) {485 if (!s->eof_coeffs[selir]) {
483 ret = check_ir(ctx->inputs[1 + selir]);486 ret = check_ir(ctx->inputs[1 + selir], selir);
484 if (ret < 0)487 if (ret < 0)
485 return ret;488 return ret;
486 489
487 if (ff_outlink_get_status(ctx->inputs[1 + selir]) == AVERROR_EOF)
488 s->eof_coeffs[selir] = 1;
489
490 if (!s->eof_coeffs[selir]) {490 if (!s->eof_coeffs[selir]) {
491 if (ff_outlink_frame_wanted(ctx->outputs[0]))491 if (ff_outlink_frame_wanted(ctx->outputs[0]))
492 ff_inlink_request_frame(ctx->inputs[1 + selir]);492 ff_inlink_request_frame(ctx->inputs[1 + selir]);
@@ -543,15 +543,13 @@ static int activate(AVFilterContext *ctx) · 50 unmodified lines
543 }543 }
544 }544 }
545 545
546 if (ff_outlink_frame_wanted(ctx->outputs[0]) &&546 if (ff_outlink_frame_wanted(ctx->outputs[0])) {
547 !ff_outlink_get_status(ctx->inputs[0])) {
548 ff_inlink_request_frame(ctx->inputs[0]);547 ff_inlink_request_frame(ctx->inputs[0]);
549 return 0;548 return 0;
550 }549 }
551 550
552 if (s->response &&551 if (s->response &&
553 ff_outlink_frame_wanted(ctx->outputs[1]) &&552 ff_outlink_frame_wanted(ctx->outputs[1])) {
554 !ff_outlink_get_status(ctx->inputs[0])) {
555 ff_inlink_request_frame(ctx->inputs[0]);553 ff_inlink_request_frame(ctx->inputs[0]);
556 return 0;554 return 0;
557 }555 }

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t