From 5774d5256a5df4e1493e80d3256c1c0aaf2c80f5 Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Sat, 15 Jun 2019 01:33:49 -0400 Subject: [PATCH] assets: Recurse in the chain of proxies When linking loaded proxies and trying to setup their targets --- ges/ges-asset.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/ges/ges-asset.c b/ges/ges-asset.c index cd0e16cb5c..f574a873f5 100644 --- a/ges/ges-asset.c +++ b/ges/ges-asset.c @@ -756,13 +756,20 @@ ges_asset_set_proxy (GESAsset * asset, GESAsset * proxy) (gpointer) ges_asset_get_id (proxy)); if (!entry) { - GST_DEBUG_OBJECT (asset, "Not proxying any asset"); + GST_DEBUG_OBJECT (asset, "Not proxying any asset %s", proxy->priv->id); return FALSE; } asset = entry->asset; while (asset->priv->proxies) asset = asset->priv->proxies->data; + + if (asset == proxy) + return FALSE; + + GST_INFO_OBJECT (asset, "%s Making sure the proxy chain is fully set.", + ges_asset_get_id (entry->asset)); + ges_asset_set_proxy (NULL, asset); } if (proxy->priv->proxy_target) {