From d68cce17f634d5147d01dbc59a44c378ead6f344 Mon Sep 17 00:00:00 2001 From: itsmattkc <34096995+itsmattkc@users.noreply.github.com> Date: Sun, 22 May 2022 15:30:20 -0700 Subject: [PATCH] ffmpegdecoder: check if instance open before validating pix fmt --- app/codec/ffmpeg/ffmpegdecoder.cpp | 8 +++++--- app/codec/ffmpeg/ffmpegdecoder.h | 5 +++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/app/codec/ffmpeg/ffmpegdecoder.cpp b/app/codec/ffmpeg/ffmpegdecoder.cpp index 499a0a31a..a825584d7 100644 --- a/app/codec/ffmpeg/ffmpegdecoder.cpp +++ b/app/codec/ffmpeg/ffmpegdecoder.cpp @@ -950,9 +950,11 @@ void FFmpegDecoder::RemoveFirstFrame() VideoParams FFmpegDecoder::GetParamsForTexture(const Decoder::RetrieveVideoParams &p) { if (native_pix_fmt_ == VideoParams::kFormatInvalid) { - instance_.GetFrame(working_packet_, working_frame_); - InitScaler(working_frame_, p); - av_frame_unref(working_frame_); + if (instance_.IsOpen()) { + instance_.GetFrame(working_packet_, working_frame_); + InitScaler(working_frame_, p); + av_frame_unref(working_frame_); + } } return VideoParams(instance_.avstream()->codecpar->width, diff --git a/app/codec/ffmpeg/ffmpegdecoder.h b/app/codec/ffmpeg/ffmpegdecoder.h index 60e838aee..b4edcaf99 100644 --- a/app/codec/ffmpeg/ffmpegdecoder.h +++ b/app/codec/ffmpeg/ffmpegdecoder.h @@ -87,6 +87,11 @@ private: bool Open(const char* filename, int stream_index); + bool IsOpen() const + { + return fmt_ctx_; + } + void Close(); /**