mpegvideoparse: Do not ignore start code at the end of buffer
authorMatej Knopp <matej.knopp@gmail.com>
Sat, 14 Apr 2012 19:09:25 +0000 (21:09 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Mon, 16 Apr 2012 06:42:12 +0000 (08:42 +0200)
gst-libs/gst/codecparsers/gstmpegvideoparser.c

index b45156a..ec8c934 100644 (file)
@@ -334,13 +334,13 @@ gst_mpeg_video_parse (const guint8 * data, gsize size, guint offset)
     codoffsize->offset = gst_byte_reader_get_pos (&br) + offset;
 
     rsize = gst_byte_reader_get_remaining (&br);
-    if (rsize <= 0) {
-      g_free (codoffsize);
-      break;
+    if (rsize == 0) {
+      /* if there are no more bytes after the start code set the size to -1 */
+      off = -1;
+    } else {
+      off = scan_for_start_codes (&br, 0, rsize);
     }
 
-    off = scan_for_start_codes (&br, 0, rsize);
-
     codoffsize->size = off;
 
     ret = g_list_prepend (ret, codoffsize);