videoaggregator: Return to parent on reconfigure
authorOlivier Crête <olivier.crete@collabora.com>
Sun, 21 May 2017 10:41:53 +0000 (12:41 +0200)
committerOlivier Crête <olivier.crete@collabora.com>
Sun, 21 May 2017 10:45:07 +0000 (12:45 +0200)
The caps negotiation is now in the parent, so need to return there
if a reconfiguration is needed, otherwise it will loops forever.

gst-libs/gst/video/gstvideoaggregator.c

index 7cdce00..c731f92 100644 (file)
@@ -1445,7 +1445,6 @@ gst_video_aggregator_aggregate (GstAggregator * agg, gboolean timeout)
 
   GST_VIDEO_AGGREGATOR_LOCK (vagg);
 
-restart:
   if (GST_VIDEO_INFO_FORMAT (&vagg->info) == GST_VIDEO_FORMAT_UNKNOWN) {
     if (timeout)
       gst_video_aggregator_advance_on_timeout (vagg);
@@ -1510,7 +1509,8 @@ restart:
    */
   if (gst_pad_needs_reconfigure (GST_AGGREGATOR_SRC_PAD (vagg))) {
     GST_DEBUG_OBJECT (vagg, "Need reconfigure");
-    goto restart;
+    flow_ret = GST_AGGREGATOR_FLOW_NEED_DATA;
+    goto unlock_and_return;
   }
 
   GST_DEBUG_OBJECT (vagg,