baesparse: fix refactor regression in loop based parsing

This commit is contained in:
Mark Nauwelaerts 2011-01-14 15:26:37 +01:00 committed by Tim-Philipp Müller
parent 9d9d9beb04
commit d9def3d05d

View file

@ -2236,9 +2236,15 @@ gst_base_parse_scan_frame (GstBaseParse * parse, GstBaseParseClass * klass,
}
}
if (fsize <= GST_BUFFER_SIZE (buffer)) {
outbuf = gst_buffer_create_sub (buffer, 0, fsize);
GST_BUFFER_OFFSET (outbuf) = GST_BUFFER_OFFSET (buffer);
/* Does the subclass want to skip too? */
if (skip > 0)
parse->priv->offset += skip;
else if (skip < 0)
skip = 0;
if (fsize + skip <= GST_BUFFER_SIZE (buffer)) {
outbuf = gst_buffer_create_sub (buffer, skip, fsize);
GST_BUFFER_OFFSET (outbuf) = GST_BUFFER_OFFSET (buffer) + skip;
GST_BUFFER_TIMESTAMP (outbuf) = GST_CLOCK_TIME_NONE;
gst_buffer_unref (buffer);
} else {
@ -2254,10 +2260,6 @@ gst_base_parse_scan_frame (GstBaseParse * parse, GstBaseParseClass * klass,
parse->priv->offset += fsize;
/* Does the subclass want to skip too? */
if (skip > 0)
parse->priv->offset += skip;
*buf = outbuf;
done: