From 15812d8c8fb84cc5f2ceb6f520cfe11e17ec849e Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Mon, 9 Mar 2026 11:22:42 +0100 Subject: [PATCH] vcomp/jpegxs: when send fail, release the buffer The error triggered causes freeze on svt_jpeg_xs_frame_pool_get(). It doesn't work, anyways - perhaps incorrect handling in SVT-JPEG-XS. At least when `enc_input.image.ready_to_release` is not set to 1, current impl of svt_jpeg_xs_frame_pool_release() doesn't release anything. But even if set to 1, it still doesn't help. So at least fixing our use and hopefully it will get also fixed upstram. This shouldn't happen, anyways, unless passwdd wrong parameters as in the #492. --- src/video_compress/jpegxs.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/video_compress/jpegxs.cpp b/src/video_compress/jpegxs.cpp index e6a79cb36..ca70c6dc9 100644 --- a/src/video_compress/jpegxs.cpp +++ b/src/video_compress/jpegxs.cpp @@ -210,6 +210,8 @@ static void jpegxs_worker_send(state_video_compress_jpegxs *s) { err = svt_jpeg_xs_encoder_send_picture(&s->encoder, &enc_input, /*blocking*/ 1); if (err != SvtJxsErrorNone) { print_svt_jxs_error(err, "Failed to send frame to encoder"); + free(enc_input.user_prv_ctx_ptr); + svt_jpeg_xs_frame_pool_release(s->frame_pool, &enc_input); continue; }