From aa5092dabff3e696f541b746dae3a4127cda6eda Mon Sep 17 00:00:00 2001 From: He Junyan Date: Tue, 18 Jun 2024 05:53:19 +0800 Subject: [PATCH] av1parse: Do not return error when expectedFrameId mismatch According to the SPEC: The frame id numbers (represented in display_frame_id, current_frame_id, and RefFrameId[ i ]) are not needed by the decoding process, but allow decoders to spot when frames have been missed and take an appropriate action. So we should just print out warning and should not return error in parser when mismatching. The decoder itself is already robust to handle the reference missing. Fixes #3622 Part-of: --- .../gst-libs/gst/codecparsers/gstav1parser.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.c b/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.c index 47b132476c..66db0a054e 100644 --- a/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.c +++ b/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.c @@ -3957,12 +3957,10 @@ gst_av1_parse_uncompressed_frame_header (GstAV1Parser * parser, GstAV1OBU * obu, if (expected_frame_id != parser->state.ref_info.entry[frame_header-> ref_frame_idx[i]].ref_frame_id) { - GST_INFO ("Reference buffer frame ID mismatch, expectedFrameId" - " is %d wihle ref frame id is %d", expected_frame_id, + GST_DEBUG ("Reference buffer frame ID mismatch, expectedFrameId" + " is %d while ref frame id is %d", expected_frame_id, parser->state.ref_info.entry[frame_header-> ref_frame_idx[i]].ref_frame_id); - retval = GST_AV1_PARSER_BITSTREAM_ERROR; - goto error; } } }