giobasesink: Implement handling of the SEEKING query
authorSebastian Dröge <sebastian@centricular.com>
Fri, 25 Apr 2014 15:32:59 +0000 (17:32 +0200)
committerSebastian Dröge <sebastian@centricular.com>
Fri, 25 Apr 2014 15:33:33 +0000 (17:33 +0200)
gst/gio/gstgiobasesink.c

index 71e67f234f3d121efef516a3875be42e89e14106..8a34b70671241aa1ccf2f654e15f29858612ad75 100644 (file)
@@ -343,6 +343,15 @@ gst_gio_base_sink_query (GstBaseSink * bsink, GstQuery * query)
         return TRUE;
       }
       return FALSE;
+    case GST_QUERY_SEEKING:
+      gst_query_parse_seeking (query, &format, NULL, NULL, NULL);
+      if (format == GST_FORMAT_BYTES || format == GST_FORMAT_DEFAULT) {
+        gst_query_set_seeking (query, GST_FORMAT_BYTES,
+            GST_GIO_STREAM_IS_SEEKABLE (sink->stream), 0, -1);
+      } else {
+        gst_query_set_seeking (query, format, FALSE, 0, -1);
+      }
+      return TRUE;
     default:
       return GST_BASE_SINK_CLASS (parent_class)->query (bsink, query);
   }