basesrc: reply to QUERY_SEEKING with original format. Fixes #584838.
authorMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Fri, 5 Jun 2009 09:37:24 +0000 (11:37 +0200)
committerMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Fri, 5 Jun 2009 14:01:27 +0000 (16:01 +0200)
libs/gst/base/gstbasesrc.c

index 16b68ca..a19be72 100644 (file)
@@ -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;
     }