basesink: Implement GstElement::get_query_types()
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Mon, 5 Jul 2010 16:54:45 +0000 (18:54 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Fri, 16 Jul 2010 15:26:50 +0000 (17:26 +0200)
libs/gst/base/gstbasesink.c

index 324b0d3..a4ba27e 100644 (file)
@@ -340,6 +340,7 @@ static void gst_base_sink_get_property (GObject * object, guint prop_id,
 static gboolean gst_base_sink_send_event (GstElement * element,
     GstEvent * event);
 static gboolean gst_base_sink_query (GstElement * element, GstQuery * query);
+static const GstQueryType *gst_base_sink_get_query_types (GstElement * element);
 
 static GstCaps *gst_base_sink_get_caps (GstBaseSink * sink);
 static gboolean gst_base_sink_set_caps (GstBaseSink * sink, GstCaps * caps);
@@ -511,6 +512,8 @@ gst_base_sink_class_init (GstBaseSinkClass * klass)
       GST_DEBUG_FUNCPTR (gst_base_sink_change_state);
   gstelement_class->send_event = GST_DEBUG_FUNCPTR (gst_base_sink_send_event);
   gstelement_class->query = GST_DEBUG_FUNCPTR (gst_base_sink_query);
+  gstelement_class->get_query_types =
+      GST_DEBUG_FUNCPTR (gst_base_sink_get_query_types);
 
   klass->get_caps = GST_DEBUG_FUNCPTR (gst_base_sink_get_caps);
   klass->set_caps = GST_DEBUG_FUNCPTR (gst_base_sink_set_caps);
@@ -4636,6 +4639,20 @@ gst_base_sink_get_duration (GstBaseSink * basesink, GstFormat format,
   return res;
 }
 
+static const GstQueryType *
+gst_base_sink_get_query_types (GstElement * element)
+{
+  static const GstQueryType query_types[] = {
+    GST_QUERY_DURATION,
+    GST_QUERY_POSITION,
+    GST_QUERY_SEGMENT,
+    GST_QUERY_LATENCY,
+    0
+  };
+
+  return query_types;
+}
+
 static gboolean
 gst_base_sink_query (GstElement * element, GstQuery * query)
 {