Commit 2976e2a1 authored by Michael Niedermayer's avatar Michael Niedermayer

Merge remote-tracking branch 'cigaes/master'

* cigaes/master:
  lavfi/trim: mark link closed on EOF.
  ffmpeg: ignore EOF when pushing frames to filters.
Merged-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parents d2021f74 50a4d076
...@@ -1623,6 +1623,8 @@ static int decode_audio(InputStream *ist, AVPacket *pkt, int *got_output) ...@@ -1623,6 +1623,8 @@ static int decode_audio(InputStream *ist, AVPacket *pkt, int *got_output)
f = decoded_frame; f = decoded_frame;
err = av_buffersrc_add_frame_flags(ist->filters[i]->filter, f, err = av_buffersrc_add_frame_flags(ist->filters[i]->filter, f,
AV_BUFFERSRC_FLAG_PUSH); AV_BUFFERSRC_FLAG_PUSH);
if (err == AVERROR_EOF)
err = 0; /* ignore */
if (err < 0) if (err < 0)
break; break;
} }
...@@ -1726,7 +1728,9 @@ static int decode_video(InputStream *ist, AVPacket *pkt, int *got_output) ...@@ -1726,7 +1728,9 @@ static int decode_video(InputStream *ist, AVPacket *pkt, int *got_output)
} else } else
f = decoded_frame; f = decoded_frame;
ret = av_buffersrc_add_frame_flags(ist->filters[i]->filter, f, AV_BUFFERSRC_FLAG_PUSH); ret = av_buffersrc_add_frame_flags(ist->filters[i]->filter, f, AV_BUFFERSRC_FLAG_PUSH);
if (ret < 0) { if (ret == AVERROR_EOF) {
ret = 0; /* ignore */
} else if (ret < 0) {
av_log(NULL, AV_LOG_FATAL, av_log(NULL, AV_LOG_FATAL,
"Failed to inject frame into filter network: %s\n", av_err2str(ret)); "Failed to inject frame into filter network: %s\n", av_err2str(ret));
exit(1); exit(1);
......
...@@ -162,7 +162,7 @@ static int trim_filter_frame(AVFilterLink *inlink, AVFrame *frame) ...@@ -162,7 +162,7 @@ static int trim_filter_frame(AVFilterLink *inlink, AVFrame *frame)
drop = 0; drop = 0;
if (drop) { if (drop) {
s->eof = 1; s->eof = inlink->closed = 1;
goto drop; goto drop;
} }
} }
...@@ -296,7 +296,7 @@ static int atrim_filter_frame(AVFilterLink *inlink, AVFrame *frame) ...@@ -296,7 +296,7 @@ static int atrim_filter_frame(AVFilterLink *inlink, AVFrame *frame)
} }
if (drop) { if (drop) {
s->eof = 1; s->eof = inlink->closed = 1;
goto drop; goto drop;
} }
} }
......
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