summaryrefslogtreecommitdiffstats
path: root/gst/rawparse/gstrawparse.c
diff options
context:
space:
mode:
Diffstat (limited to 'gst/rawparse/gstrawparse.c')
-rw-r--r--gst/rawparse/gstrawparse.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gst/rawparse/gstrawparse.c b/gst/rawparse/gstrawparse.c
index 9714bba2..2f1ffba1 100644
--- a/gst/rawparse/gstrawparse.c
+++ b/gst/rawparse/gstrawparse.c
@@ -440,6 +440,11 @@ gst_raw_parse_src_event (GstPad * pad, GstEvent * event)
gst_raw_parse_convert (rp, format, stop, GST_FORMAT_BYTES, &stop);
if (ret) {
+ /* Seek on a frame boundary */
+ start -= start % rp->framesize;
+ if (stop != -1)
+ stop += rp->framesize - stop % rp->framesize;
+
event =
gst_event_new_seek (rate, GST_FORMAT_BYTES, flags, start_type,
start, stop_type, stop);