baseparse: tune QUERY_SEEKING response
authorMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Mon, 7 Feb 2011 13:46:57 +0000 (14:46 +0100)
committerMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Thu, 17 Feb 2011 12:00:59 +0000 (13:00 +0100)
Even if we currently do not have a duration yet, assume seekable if
it looks like we'll likely be able to determine it later on
(which coincides with needed information to perform seeking).

Fixes #641047.

gst/audioparsers/gstbaseparse.c

index 75c945c2eeb0d12053d603f49fff07f260e44dbd..16a6a081c94de1cbbdce4ed4b41761e783e5728e 100644 (file)
@@ -3016,7 +3016,9 @@ gst_base_parse_query (GstPad * pad, GstQuery * query)
         if (!(res && seekable)) {
           if (!gst_base_parse_get_duration (parse, GST_FORMAT_TIME, &duration)
               || duration == -1) {
-            seekable = FALSE;
+            /* seekable if we still have a chance to get duration later on */
+            seekable =
+                parse->priv->upstream_seekable && parse->priv->update_interval;
           } else {
             seekable = parse->priv->upstream_seekable;
             GST_LOG_OBJECT (parse, "already determine upstream seekabled: %d",