codecparsers: mpeg4: actually return full number of bits of resync marker
authorLuis de Bethencourt <luis.bg@samsung.com>
Wed, 29 Oct 2014 15:03:04 +0000 (15:03 +0000)
committerTim-Philipp Müller <tim@centricular.com>
Sat, 13 Jun 2015 17:03:11 +0000 (18:03 +0100)
Switch the increment of markersize from when it is used to when it is
returned from compute_resync_marker_size.

This also makes the CHECK_REMAINING in gst_mpeg4_parse_video_packet_header
check for the actually required number of bits now and not one too few.

https://bugzilla.gnome.org/show_bug.cgi?id=739345

gst-libs/gst/codecparsers/gstmpeg4parser.c

index a2e63a2..ce156c5 100644 (file)
@@ -347,7 +347,7 @@ compute_resync_marker_size (const GstMpeg4VideoObjectPlane * vop,
     }
   }
 
-  return off++;                 /* Take the following 1 into account */
+  return off + 1;               /* Take the following 1 into account */
 }
 
 /**
@@ -1641,7 +1641,7 @@ gst_mpeg4_parse_video_packet_header (GstMpeg4VideoPacketHdr * videopackethdr,
 
   CHECK_REMAINING (&br, markersize);
 
-  if (gst_bit_reader_get_bits_uint32_unchecked (&br, markersize + 1) != 0x01)
+  if (gst_bit_reader_get_bits_uint32_unchecked (&br, markersize) != 0x01)
     goto failed;
 
   if (vol->shape != GST_MPEG4_RECTANGULAR) {