summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--gst/rawparse/gstrawparse.c5
2 files changed, 11 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 6aa7694c..4eab00e3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2007-12-23 Sebastian Dröge <slomo@circular-chaos.org>
+ * gst/rawparse/gstrawparse.c: (gst_raw_parse_src_event):
+ Always seek on frame boundaries, will produce nothing useful
+ otherwise.
+
+2007-12-23 Sebastian Dröge <slomo@circular-chaos.org>
+
* configure.ac:
* gst/rawparse/Makefile.am:
* gst/rawparse/README:
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);