diff options
author | Matej Knopp <matej.knopp@gmail.com> | 2012-04-14 21:09:25 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2012-04-16 08:42:12 +0200 |
commit | 045e8bb506f24321bcd20933ceab8588e225ec3c (patch) | |
tree | 298cc191a5e64b1bceb05f34f27ac36dab1306d6 /gst-libs | |
parent | 19f7bd470d9ec602d706c268713384404888cd3a (diff) | |
download | gstreamer-plugins-bad-045e8bb506f24321bcd20933ceab8588e225ec3c.tar.gz |
mpegvideoparse: Do not ignore start code at the end of buffer
Diffstat (limited to 'gst-libs')
-rw-r--r-- | gst-libs/gst/codecparsers/gstmpegvideoparser.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/gst-libs/gst/codecparsers/gstmpegvideoparser.c b/gst-libs/gst/codecparsers/gstmpegvideoparser.c index b45156a8d..ec8c934bb 100644 --- a/gst-libs/gst/codecparsers/gstmpegvideoparser.c +++ b/gst-libs/gst/codecparsers/gstmpegvideoparser.c @@ -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); |