]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - glsdk/gst-plugins-ugly0-10.git/commitdiff
gst/: Make sure we don't create 0 sized subbufers in riff-read.
authorWim Taymans <wim.taymans@gmail.com>
Fri, 16 Jul 2004 10:50:49 +0000 (10:50 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Fri, 16 Jul 2004 10:50:49 +0000 (10:50 +0000)
Original commit message from CVS:
* gst-libs/gst/riff/riff-read.c:
(gst_riff_read_strf_vids_with_data),
(gst_riff_read_strf_auds_with_data):
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query),
(gst_avi_demux_add_stream), (gst_avi_demux_stream_header):
Make sure we don't create 0 sized subbufers in riff-read.
Signal the no more pads signal after reading the avi header.

gst-libs/gst/riff/riff-read.c

index 405324ab8054021ee13bc986ed169539033d2f90..11740f2ae7403e8fc78468e80f2ea5cdfe911484 100644 (file)
@@ -551,8 +551,12 @@ gst_riff_read_strf_vids_with_data (GstRiffRead * riff,
         strf->size, GST_BUFFER_SIZE (buf));
     strf->size = GST_BUFFER_SIZE (buf);
   } else if (strf->size < GST_BUFFER_SIZE (buf)) {
-    *extradata = gst_buffer_create_sub (buf, strf->size + 2,
-        GST_BUFFER_SIZE (buf) - strf->size - 2);
+    gint len;
+
+    len = GST_BUFFER_SIZE (buf) - strf->size - 2;
+    if (len > 0) {
+      *extradata = gst_buffer_create_sub (buf, strf->size + 2, len);
+    }
   }
 
   /* debug */
@@ -636,8 +640,12 @@ gst_riff_read_strf_auds_with_data (GstRiffRead * riff,
         strf->size, GST_BUFFER_SIZE (buf));
     strf->size = GST_BUFFER_SIZE (buf);
   } else if (strf->size < GST_BUFFER_SIZE (buf)) {
-    *extradata = gst_buffer_create_sub (buf, strf->size + 2,
-        GST_BUFFER_SIZE (buf) - strf->size - 2);
+    gint len;
+
+    len = GST_BUFFER_SIZE (buf) - strf->size - 2;
+    if (len > 0) {
+      *extradata = gst_buffer_create_sub (buf, strf->size + 2, len);
+    }
   }
 
   /* debug */