Message ID | 20240124081702.4759-10-anton@khirnov.net |
---|---|
State | Accepted |
Commit | b2a0a2e6f531afa75c59c917c53b8ccee07d3655 |
Headers | show |
Series | [FFmpeg-devel,01/31] fftools/ffmpeg_dec: split Decoder into a private and public part | expand |
Context | Check | Description |
---|---|---|
yinshiyou/make_loongarch64 | success | Make finished |
yinshiyou/make_fate_loongarch64 | success | Make fate finished |
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
diff --git a/fftools/ffmpeg_dec.c b/fftools/ffmpeg_dec.c index 00428dff48..d16049ab4c 100644 --- a/fftools/ffmpeg_dec.c +++ b/fftools/ffmpeg_dec.c @@ -898,13 +898,6 @@ int dec_open(InputStream *ist, Scheduler *sch, unsigned sch_idx, const AVCodec *codec = ist->dec; int ret; - if (!codec) { - av_log(ist, AV_LOG_ERROR, - "Decoding requested, but no decoder found for: %s\n", - avcodec_get_name(ist->par->codec_id)); - return AVERROR(EINVAL); - } - ret = dec_alloc(&ist->decoder); if (ret < 0) return ret; diff --git a/fftools/ffmpeg_demux.c b/fftools/ffmpeg_demux.c index 5a58bb735a..11db118b72 100644 --- a/fftools/ffmpeg_demux.c +++ b/fftools/ffmpeg_demux.c @@ -866,6 +866,13 @@ static int ist_use(InputStream *ist, int decoding_needed) return AVERROR(EINVAL); } + if (decoding_needed && !ist->dec) { + av_log(ist, AV_LOG_ERROR, + "Decoding requested, but no decoder found for: %s\n", + avcodec_get_name(ist->par->codec_id)); + return AVERROR(EINVAL); + } + if (ds->sch_idx_stream < 0) { ret = sch_add_demux_stream(d->sch, d->f.index); if (ret < 0)