rawparse: use size of buffer we got from adapter

Otherwise position in stream could be wrong if subclass 'pre_push_frame'
method changes the buffer size.

https://bugzilla.gnome.org/show_bug.cgi?id=760270
This commit is contained in:
Aurélien Zanelli 2016-01-08 17:17:01 +01:00 committed by Nicolas Dufresne
parent a90f35e14b
commit 6e8278c51e

View file

@ -233,10 +233,12 @@ gst_raw_parse_push_buffer (GstRawParse * rp, GstBuffer * buffer)
GstFlowReturn ret;
gint nframes;
GstRawParseClass *rpclass;
gsize size;
rpclass = GST_RAW_PARSE_GET_CLASS (rp);
nframes = gst_buffer_get_size (buffer) / rp->framesize;
size = gst_buffer_get_size (buffer);
nframes = size / rp->framesize;
if (rp->segment.rate < 0) {
rp->n_frames -= nframes;
@ -267,7 +269,7 @@ gst_raw_parse_push_buffer (GstRawParse * rp, GstBuffer * buffer)
}
if (rp->segment.rate >= 0) {
rp->offset += gst_buffer_get_size (buffer);
rp->offset += size;
rp->n_frames += nframes;
}