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 */
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 */