From fd8f49dba8c09d47425da80f5faab3bfa4a7c962 Mon Sep 17 00:00:00 2001
From: Jose Quaresma <quaresma.jose@gmail.com>
Date: Sat, 10 Oct 2020 19:09:03 +0000
Subject: [PATCH 1/3] gstpluginloader: when env var is set do not fall through
 to system plugin scanner

If we set a custom GST_PLUGIN_SCANNER env var, then we probably want to use that and only that.

Falling through to the one installed on the system is problamatic in cross-compilation
environemnts, regardless of whether one pointed to by the env var succeeded or failed.

taken from:
http://cgit.openembedded.org/openembedded-core/commit/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch?id=0db7ba34ca41b107042306d13a6f0162885c123b

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/669>

Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/9f958058697e6fbf5bde325228034572331d1a3a]

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
---
 gst/gstpluginloader.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/gst/gstpluginloader.c b/gst/gstpluginloader.c
index d1e404d98..c626bf263 100644
--- a/gst/gstpluginloader.c
+++ b/gst/gstpluginloader.c
@@ -464,20 +464,19 @@ gst_plugin_loader_spawn (GstPluginLoader * loader)
   if (loader->child_running)
     return TRUE;
 
-  /* Find the gst-plugin-scanner: first try the env-var if it is set,
-   * otherwise use the installed version */
+  /* Find the gst-plugin-scanner */
   env = g_getenv ("GST_PLUGIN_SCANNER_1_0");
   if (env == NULL)
     env = g_getenv ("GST_PLUGIN_SCANNER");
 
   if (env != NULL && *env != '\0') {
+    /* use the env-var if it is set */
     GST_LOG ("Trying GST_PLUGIN_SCANNER env var: %s", env);
     helper_bin = g_strdup (env);
     res = gst_plugin_loader_try_helper (loader, helper_bin);
     g_free (helper_bin);
-  }
-
-  if (!res) {
+  } else {
+    /* use the installed version */
     GST_LOG ("Trying installed plugin scanner");
 
 #ifdef G_OS_WIN32
@@ -497,10 +496,10 @@ gst_plugin_loader_spawn (GstPluginLoader * loader)
 #endif
     res = gst_plugin_loader_try_helper (loader, helper_bin);
     g_free (helper_bin);
+  }
 
-    if (!res) {
-      GST_INFO ("No gst-plugin-scanner available, or not working");
-    }
+  if (!res) {
+    GST_INFO ("No gst-plugin-scanner available, or not working");
   }
 
   return loader->child_running;
-- 
2.29.2

