[FFmpeg-devel] [PATCH 2/2] avcodec/wrapped_avframe: Don't presume AVPacket to be writable
Andreas Rheinhardt
andreas.rheinhardt at outlook.com
Mon Jul 18 20:34:21 EEST 2022
It need not be writable; in fact, it is often not writable even if
the packet sent to the decoder was writable, because the generic code
calls av_packet_ref() on it. It is never writable if a user
drains the decoder after every packet, because in this case the decode
callback is called from avcodec_send_packet().
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
libavcodec/wrapped_avframe.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/libavcodec/wrapped_avframe.c b/libavcodec/wrapped_avframe.c
index e2f27f91a3..c89cdfd1e8 100644
--- a/libavcodec/wrapped_avframe.c
+++ b/libavcodec/wrapped_avframe.c
@@ -92,7 +92,9 @@ static int wrapped_avframe_decode(AVCodecContext *avctx, AVFrame *out,
in = (AVFrame*)pkt->data;
- av_frame_move_ref(out, in);
+ err = av_frame_ref(out, in);
+ if (err < 0)
+ return err;
err = ff_decode_frame_props(avctx, out);
if (err < 0)
--
2.34.1
More information about the ffmpeg-devel
mailing list