[gst-cvs] gstreamer: basesrc: reply to QUERY_SEEKING with original format. Fixes #584838.
Mark Nauwelaerts
mnauw at kemper.freedesktop.org
Fri Jun 5 07:12:48 PDT 2009
Module: gstreamer
Branch: master
Commit: 4bb3702886610bf258ce953cc52282ba5dab5c9d
URL: http://cgit.freedesktop.org/gstreamer/gstreamer/commit/?id=4bb3702886610bf258ce953cc52282ba5dab5c9d
Author: Mark Nauwelaerts <mark.nauwelaerts at collabora.co.uk>
Date: Fri Jun 5 11:37:24 2009 +0200
basesrc: reply to QUERY_SEEKING with original format. Fixes #584838.
---
libs/gst/base/gstbasesrc.c | 11 +++++++++--
1 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/libs/gst/base/gstbasesrc.c b/libs/gst/base/gstbasesrc.c
index 16b68ca..a19be72 100644
--- a/libs/gst/base/gstbasesrc.c
+++ b/libs/gst/base/gstbasesrc.c
@@ -842,8 +842,15 @@ gst_base_src_default_query (GstBaseSrc * src, GstQuery * query)
case GST_QUERY_SEEKING:
{
- gst_query_set_seeking (query, src->segment.format,
- gst_base_src_seekable (src), 0, src->segment.duration);
+ GstFormat format;
+
+ gst_query_parse_seeking (query, &format, NULL, NULL, NULL);
+ if (format == src->segment.format) {
+ gst_query_set_seeking (query, src->segment.format,
+ gst_base_src_seekable (src), 0, src->segment.duration);
+ } else {
+ gst_query_set_seeking (query, format, FALSE, 0, -1);
+ }
res = TRUE;
break;
}
More information about the Gstreamer-commits
mailing list