fftools/ffmpeg: Repair reinit_filter feature

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
pull/301/head
Michael Niedermayer 6 years ago
parent d6b1248fc6
commit 3504004879
  1. 10
      fftools/ffmpeg.c

@ -2132,9 +2132,6 @@ static int ifilter_send_frame(InputFilter *ifilter, AVFrame *frame)
/* determine if the parameters for this input changed */ /* determine if the parameters for this input changed */
need_reinit = ifilter->format != frame->format; need_reinit = ifilter->format != frame->format;
if (!!ifilter->hw_frames_ctx != !!frame->hw_frames_ctx ||
(ifilter->hw_frames_ctx && ifilter->hw_frames_ctx->data != frame->hw_frames_ctx->data))
need_reinit = 1;
switch (ifilter->ist->st->codecpar->codec_type) { switch (ifilter->ist->st->codecpar->codec_type) {
case AVMEDIA_TYPE_AUDIO: case AVMEDIA_TYPE_AUDIO:
@ -2148,6 +2145,13 @@ static int ifilter_send_frame(InputFilter *ifilter, AVFrame *frame)
break; break;
} }
if (!ifilter->ist->reinit_filters && fg->graph)
need_reinit = 0;
if (!!ifilter->hw_frames_ctx != !!frame->hw_frames_ctx ||
(ifilter->hw_frames_ctx && ifilter->hw_frames_ctx->data != frame->hw_frames_ctx->data))
need_reinit = 1;
if (need_reinit) { if (need_reinit) {
ret = ifilter_parameters_from_frame(ifilter, frame); ret = ifilter_parameters_from_frame(ifilter, frame);
if (ret < 0) if (ret < 0)

Loading…
Cancel
Save