[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