blob: 23ebd5c6005f0c92887df8fc922220c952108a79 [file] [log] [blame]
Andrew Geisslerd1e89492021-02-12 15:35:20 -06001From fd8f49dba8c09d47425da80f5faab3bfa4a7c962 Mon Sep 17 00:00:00 2001
2From: Jose Quaresma <quaresma.jose@gmail.com>
3Date: Sat, 10 Oct 2020 19:09:03 +0000
4Subject: [PATCH 1/3] gstpluginloader: when env var is set do not fall through
5 to system plugin scanner
Brad Bishop316dfdd2018-06-25 12:45:53 -04006
7If we set a custom GST_PLUGIN_SCANNER env var, then we probably want to use that and only that.
8
9Falling through to the one installed on the system is problamatic in cross-compilation
10environemnts, regardless of whether one pointed to by the env var succeeded or failed.
11
Andrew Geisslerd1e89492021-02-12 15:35:20 -060012taken from:
13http://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
Andrew Geissler6ce62a22020-11-30 19:58:47 -060014
Andrew Geisslerc926e172021-05-07 16:11:35 -050015Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/669>
16
17Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/9f958058697e6fbf5bde325228034572331d1a3a]
18
Andrew Geissler6ce62a22020-11-30 19:58:47 -060019Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
Brad Bishop316dfdd2018-06-25 12:45:53 -040020---
Andrew Geisslerd1e89492021-02-12 15:35:20 -060021 gst/gstpluginloader.c | 15 +++++++--------
22 1 file changed, 7 insertions(+), 8 deletions(-)
Brad Bishop316dfdd2018-06-25 12:45:53 -040023
24diff --git a/gst/gstpluginloader.c b/gst/gstpluginloader.c
Andrew Geisslerd1e89492021-02-12 15:35:20 -060025index d1e404d98..c626bf263 100644
Brad Bishop316dfdd2018-06-25 12:45:53 -040026--- a/gst/gstpluginloader.c
27+++ b/gst/gstpluginloader.c
Andrew Geisslerd1e89492021-02-12 15:35:20 -060028@@ -464,20 +464,19 @@ gst_plugin_loader_spawn (GstPluginLoader * loader)
29 if (loader->child_running)
30 return TRUE;
31
32- /* Find the gst-plugin-scanner: first try the env-var if it is set,
33- * otherwise use the installed version */
34+ /* Find the gst-plugin-scanner */
35 env = g_getenv ("GST_PLUGIN_SCANNER_1_0");
36 if (env == NULL)
37 env = g_getenv ("GST_PLUGIN_SCANNER");
38
39 if (env != NULL && *env != '\0') {
40+ /* use the env-var if it is set */
41 GST_LOG ("Trying GST_PLUGIN_SCANNER env var: %s", env);
Brad Bishop316dfdd2018-06-25 12:45:53 -040042 helper_bin = g_strdup (env);
43 res = gst_plugin_loader_try_helper (loader, helper_bin);
44 g_free (helper_bin);
45- }
46-
47- if (!res) {
48+ } else {
Andrew Geisslerd1e89492021-02-12 15:35:20 -060049+ /* use the installed version */
Brad Bishop316dfdd2018-06-25 12:45:53 -040050 GST_LOG ("Trying installed plugin scanner");
51
52 #ifdef G_OS_WIN32
Andrew Geisslerd1e89492021-02-12 15:35:20 -060053@@ -497,10 +496,10 @@ gst_plugin_loader_spawn (GstPluginLoader * loader)
54 #endif
55 res = gst_plugin_loader_try_helper (loader, helper_bin);
56 g_free (helper_bin);
57+ }
58
59- if (!res) {
60- GST_INFO ("No gst-plugin-scanner available, or not working");
61- }
62+ if (!res) {
63+ GST_INFO ("No gst-plugin-scanner available, or not working");
64 }
65
66 return loader->child_running;
Brad Bishop316dfdd2018-06-25 12:45:53 -040067--
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600682.29.2
Brad Bishop316dfdd2018-06-25 12:45:53 -040069