queue: answer SCHEDULING query
authorTim-Philipp Müller <tim@centricular.net>
Wed, 18 Jul 2012 08:15:51 +0000 (09:15 +0100)
committerTim-Philipp Müller <tim@centricular.net>
Wed, 18 Jul 2012 08:15:51 +0000 (09:15 +0100)
Instead of letting the default query handler fail.

plugins/elements/gstqueue.c

index 7e7fb04..2989823 100644 (file)
@@ -1216,10 +1216,21 @@ gst_queue_handle_src_query (GstPad * pad, GstObject * parent, GstQuery * query)
   GstQueue *queue = GST_QUEUE (parent);
   gboolean res;
 
-  res = gst_pad_query_default (pad, parent, query);
+  switch (GST_QUERY_TYPE (query)) {
+    case GST_QUERY_SCHEDULING:{
+      gst_query_add_scheduling_mode (query, GST_PAD_MODE_PUSH);
+      res = TRUE;
+      break;
+    }
+    default:
+      res = gst_pad_query_default (pad, parent, query);
+      break;
+  }
+
   if (!res)
     return FALSE;
 
+  /* Adjust peer response for data contained in queue */
   switch (GST_QUERY_TYPE (query)) {
     case GST_QUERY_POSITION:
     {