summaryrefslogtreecommitdiff
path: root/gst
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2014-04-25 17:32:59 +0200
committerSebastian Dröge <sebastian@centricular.com>2014-04-25 17:33:33 +0200
commite8d176c20c6bbde070701bf029913a4fa930e51f (patch)
tree72b4b0b4babee3855a873091934a8f0f6fdce764 /gst
parent74eb5fa995e4ca6e26e73ab63e9ee560b2e173e8 (diff)
downloadgstreamer-plugins-base-e8d176c20c6bbde070701bf029913a4fa930e51f.tar.gz
giobasesink: Implement handling of the SEEKING query
Diffstat (limited to 'gst')
-rw-r--r--gst/gio/gstgiobasesink.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gst/gio/gstgiobasesink.c b/gst/gio/gstgiobasesink.c
index 71e67f234..8a34b7067 100644
--- a/gst/gio/gstgiobasesink.c
+++ b/gst/gio/gstgiobasesink.c
@@ -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);
}