Commit dda59d9a authored by Clément Bœsch's avatar Clément Bœsch

lavfi/asetnsamples: raise filter_frame() error.

parent c82bb281
...@@ -94,7 +94,7 @@ static int push_samples(AVFilterLink *outlink) ...@@ -94,7 +94,7 @@ static int push_samples(AVFilterLink *outlink)
{ {
ASNSContext *asns = outlink->src->priv; ASNSContext *asns = outlink->src->priv;
AVFrame *outsamples = NULL; AVFrame *outsamples = NULL;
int nb_out_samples, nb_pad_samples; int ret, nb_out_samples, nb_pad_samples;
if (asns->pad) { if (asns->pad) {
nb_out_samples = av_audio_fifo_size(asns->fifo) ? asns->nb_out_samples : 0; nb_out_samples = av_audio_fifo_size(asns->fifo) ? asns->nb_out_samples : 0;
...@@ -125,7 +125,9 @@ static int push_samples(AVFilterLink *outlink) ...@@ -125,7 +125,9 @@ static int push_samples(AVFilterLink *outlink)
if (asns->next_out_pts != AV_NOPTS_VALUE) if (asns->next_out_pts != AV_NOPTS_VALUE)
asns->next_out_pts += nb_out_samples; asns->next_out_pts += nb_out_samples;
ff_filter_frame(outlink, outsamples); ret = ff_filter_frame(outlink, outsamples);
if (ret < 0)
return ret;
asns->req_fullfilled = 1; asns->req_fullfilled = 1;
return nb_out_samples; return nb_out_samples;
} }
...@@ -168,9 +170,11 @@ static int request_frame(AVFilterLink *outlink) ...@@ -168,9 +170,11 @@ static int request_frame(AVFilterLink *outlink)
ret = ff_request_frame(inlink); ret = ff_request_frame(inlink);
} while (!asns->req_fullfilled && ret >= 0); } while (!asns->req_fullfilled && ret >= 0);
if (ret == AVERROR_EOF) if (ret == AVERROR_EOF) {
while (push_samples(outlink)) do {
; ret = push_samples(outlink);
} while (ret > 0);
}
return ret; return ret;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment