|
|
@ -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) |
|
|
|