Revert "queue2: Process SEEKING query"
authorTim-Philipp Müller <tim@centricular.com>
Mon, 31 Aug 2015 11:07:10 +0000 (12:07 +0100)
committerTim-Philipp Müller <tim@centricular.com>
Mon, 31 Aug 2015 11:07:10 +0000 (12:07 +0100)
This caused problems with oggdemux when queue2 was
operating in queue mode and the souphttpsrc upstream
is not seekable because the server doesn't support
range requests. It would then still claim seekability
and then things go wrong from there.

This reverts commit 7b0b93dafe4ac547552cdb66ade5d8aa0405e7b4.

https://bugzilla.gnome.org/show_bug.cgi?id=753887

plugins/elements/gstqueue2.c

index 34c922c75851a3831eb52aa0d56135f9d4233827..656066e617665d933018de78e83166e9134b8aa6 100644 (file)
@@ -3092,55 +3092,6 @@ gst_queue2_handle_src_query (GstPad * pad, GstObject * parent, GstQuery * query)
       gst_query_add_scheduling_mode (query, GST_PAD_MODE_PUSH);
       break;
     }
-    case GST_QUERY_SEEKING:
-    {
-      gint64 segment_start, segment_end;
-      GstFormat format;
-      gboolean seekable, peer_success;
-
-      peer_success = gst_pad_peer_query (queue->sinkpad, query);
-
-      gst_query_parse_seeking (query, &format, &seekable, &segment_start,
-          &segment_end);
-
-      if (peer_success && seekable) {
-        GST_DEBUG_OBJECT (queue, "peer seekable (%s) from %" G_GINT64_FORMAT
-            " to %" G_GINT64_FORMAT, gst_format_get_name (format),
-            segment_start, segment_end);
-        break;
-      }
-
-      if (format != GST_FORMAT_BYTES) {
-        GST_DEBUG_OBJECT (queue, "query in %s (not BYTES) format, cannot seek",
-            gst_format_get_name (format));
-        return FALSE;
-      }
-
-      GST_QUEUE2_MUTEX_LOCK (queue);
-      if (queue->current) {
-        if (QUEUE_IS_USING_RING_BUFFER (queue)) {
-          segment_start = queue->current->rb_offset;
-          segment_end = queue->current->rb_writing_pos;
-        } else if (QUEUE_IS_USING_TEMP_FILE (queue)) {
-          segment_start = queue->current->offset;
-          segment_end = queue->current->writing_pos;
-        } else {
-          segment_start = -1;
-          segment_end = -1;
-        }
-      }
-      GST_QUEUE2_MUTEX_UNLOCK (queue);
-
-      seekable = ! !(segment_start < segment_end);
-
-      GST_DEBUG_OBJECT (queue, "segment from %" G_GINT64_FORMAT " to %"
-          G_GINT64_FORMAT " %sseekable", segment_start, segment_end,
-          seekable ? "" : "not ");
-
-      gst_query_set_seeking (query, format, seekable, segment_start,
-          segment_end);
-      break;
-    }
     default:
       /* peer handled other queries */
       if (!gst_pad_query_default (pad, parent, query))