videoaggregator: Handle if update_caps() returns EMPTY
authorJan Schmidt <jan@centricular.com>
Thu, 25 Aug 2016 16:20:11 +0000 (02:20 +1000)
committerJan Schmidt <jan@centricular.com>
Thu, 25 Aug 2016 17:25:49 +0000 (03:25 +1000)
Don't assume the returned caps from update_caps() is
non-empty.

gst-libs/gst/video/gstvideoaggregator.c

index 1d40854..cd42d7e 100644 (file)
@@ -737,7 +737,8 @@ gst_video_aggregator_update_src_caps (GstVideoAggregator * vagg)
     GST_DEBUG_OBJECT (vagg, "updating caps from %" GST_PTR_FORMAT,
         downstream_caps);
     GST_DEBUG_OBJECT (vagg, "       with filter %" GST_PTR_FORMAT, peercaps);
-    if (!(caps = vagg_klass->update_caps (vagg, downstream_caps, peercaps))) {
+    if (!(caps = vagg_klass->update_caps (vagg, downstream_caps, peercaps)) ||
+        gst_caps_is_empty (caps)) {
       GST_WARNING_OBJECT (vagg, "Subclass failed to update provided caps");
       gst_caps_unref (downstream_caps);
       if (peercaps)