From 3a1d0b7a0f267a649a3d2227b545feae6e567dd6 Mon Sep 17 00:00:00 2001 From: Mark Nauwelaerts Date: Mon, 5 Jul 2010 11:48:08 +0200 Subject: [PATCH] jpegparse: fix skipping extra 0xff markers In particular, this makes the jpegparse unit test pass again. Also add a debug statement. Fixes #622690. --- gst/jpegformat/gstjpegparse.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gst/jpegformat/gstjpegparse.c b/gst/jpegformat/gstjpegparse.c index 3543ab2327..22d6407e01 100644 --- a/gst/jpegformat/gstjpegparse.c +++ b/gst/jpegformat/gstjpegparse.c @@ -329,7 +329,7 @@ gst_jpeg_parse_get_image_length (GstJpegParse * parse) /* may have marker, but could have been resyncng */ resync = resync || parse->priv->last_resync; /* Skip over extra 0xff */ - while ((noffset > 0) && ((value & 0xff) == 0xff)) { + while ((noffset >= 0) && ((value & 0xff) == 0xff)) { noffset++; noffset = gst_adapter_masked_scan_uint32_peek (adapter, 0x0000ff00, 0x0000ff00, @@ -833,6 +833,8 @@ gst_jpeg_parse_chain (GstPad * pad, GstBuffer * buf) if (len == 0) return GST_FLOW_OK; + GST_LOG_OBJECT (parse, "parsed image of size %d", len); + /* now we have enough in the adapter to process a full jpeg image */ ret = gst_jpeg_parse_push_buffer (parse, len); } -- 2.34.1