assets: Recurse in the chain of proxies

When linking loaded proxies and trying to setup their targets
This commit is contained in:
Thibault Saunier 2019-06-15 01:33:49 -04:00
parent d0b4b87b1e
commit 5774d5256a

View file

@ -756,13 +756,20 @@ ges_asset_set_proxy (GESAsset * asset, GESAsset * proxy)
(gpointer) ges_asset_get_id (proxy)); (gpointer) ges_asset_get_id (proxy));
if (!entry) { if (!entry) {
GST_DEBUG_OBJECT (asset, "Not proxying any asset"); GST_DEBUG_OBJECT (asset, "Not proxying any asset %s", proxy->priv->id);
return FALSE; return FALSE;
} }
asset = entry->asset; asset = entry->asset;
while (asset->priv->proxies) while (asset->priv->proxies)
asset = asset->priv->proxies->data; 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) { if (proxy->priv->proxy_target) {