Revert "videoaggregator: Create new caps from the video-info"
authorSebastian Dröge <sebastian@centricular.com>
Fri, 6 Mar 2015 17:49:16 +0000 (18:49 +0100)
committerSebastian Dröge <sebastian@centricular.com>
Fri, 6 Mar 2015 17:53:13 +0000 (18:53 +0100)
This reverts commit 78215be0dfbb4e8ed4f249e161a94c644328d28d.

because it broke glvideomixer with custom caps features.

gst-libs/gst/video/gstvideoaggregator.c

index cf33ac3fe65d7954b49d0d32fd5ffaf11618566f..71458ed9d50d86afd75a52c824c6aac2dbffbb9a 100644 (file)
@@ -599,24 +599,14 @@ gst_videoaggregator_src_setcaps (GstVideoAggregator * vagg, GstCaps * caps)
   if (vagg->priv->current_caps == NULL ||
       gst_caps_is_equal (caps, vagg->priv->current_caps) == FALSE) {
     GstClockTime latency;
-    GstCaps *full_caps;
 
-    /* Create new caps from the video-info, in case the original caps
-     * were missing some optional fields like interlace-mode. We assume
-     * default values for those everywhere, but they can still cause
-     * negotiation to fail if a downstream element expects the field to be
-     * there and at a specific value.
-     */
-    full_caps = gst_video_info_to_caps (&info);
-
-    gst_caps_replace (&vagg->priv->current_caps, full_caps);
+    gst_caps_replace (&vagg->priv->current_caps, caps);
     GST_VIDEO_AGGREGATOR_UNLOCK (vagg);
 
-    gst_aggregator_set_src_caps (agg, full_caps);
+    gst_aggregator_set_src_caps (agg, caps);
     latency = gst_util_uint64_scale (GST_SECOND,
         GST_VIDEO_INFO_FPS_D (&info), GST_VIDEO_INFO_FPS_N (&info));
     gst_aggregator_set_latency (agg, latency, latency);
-    gst_caps_unref (full_caps);
 
     GST_VIDEO_AGGREGATOR_LOCK (vagg);
   }