videomixer: Set a reference to mix->current_caps as the QUERY_CAPS result.
authorMathieu Duponchelle <mathieu.duponchelle@epitech.eu>
Thu, 30 May 2013 19:20:59 +0000 (21:20 +0200)
committerNicolas Dufresne <nicolas.dufresne@collabora.co.uk>
Thu, 30 May 2013 19:36:48 +0000 (15:36 -0400)
gst/videomixer/videomixer2.c

index 9193f65..a03cf27 100644 (file)
@@ -1087,18 +1087,19 @@ done_unlocked:
 static gboolean
 gst_videomixer2_query_caps (GstPad * pad, GstObject * parent, GstQuery * query)
 {
-  GstCaps *filter, *caps;
-  GstVideoMixer2 *mix = GST_VIDEO_MIXER2 (parent);
+  GstCaps *filter;
   GstStructure *s;
   gint n;
+  GstVideoMixer2 *mix = GST_VIDEO_MIXER2 (parent);
+  GstCaps *caps = NULL;
 
   gst_query_parse_caps (query, &filter);
 
-  if (GST_VIDEO_INFO_FORMAT (&mix->info) != GST_VIDEO_FORMAT_UNKNOWN) {
-    caps = gst_pad_get_current_caps (mix->srcpad);
-  } else {
+  if (GST_VIDEO_INFO_FORMAT (&mix->info) != GST_VIDEO_FORMAT_UNKNOWN)
+    caps = gst_caps_ref (mix->current_caps);
+
+  if (caps == NULL)
     caps = gst_pad_get_pad_template_caps (mix->srcpad);
-  }
 
   caps = gst_caps_make_writable (caps);