gstpluginloader: show the reason when spawning of gst-plugin-scanner fail

This fix helps in cross compiling when the meson tests runs using a qemu wraper

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1701>
This commit is contained in:
Jose Quaresma 2021-12-08 22:13:15 +00:00 committed by GStreamer Marge Bot
parent aa9dd0acec
commit 8e1de3f84c

View file

@ -413,6 +413,7 @@ gst_plugin_loader_try_helper (GstPluginLoader * loader, gchar * location)
{ {
char *argv[6] = { NULL, }; char *argv[6] = { NULL, };
int c = 0; int c = 0;
GError *error = NULL;
#if defined (__APPLE__) && defined (USR_BIN_ARCH_SWITCH) #if defined (__APPLE__) && defined (USR_BIN_ARCH_SWITCH)
if (gst_plugin_loader_use_usr_bin_arch ()) { if (gst_plugin_loader_use_usr_bin_arch ()) {
@ -432,11 +433,16 @@ gst_plugin_loader_try_helper (GstPluginLoader * loader, gchar * location)
GST_LOG ("Trying to spawn gst-plugin-scanner helper at %s", location); GST_LOG ("Trying to spawn gst-plugin-scanner helper at %s", location);
} }
if (!g_spawn_async_with_pipes (NULL, argv, NULL, g_spawn_async_with_pipes (NULL, argv, NULL,
G_SPAWN_DO_NOT_REAP_CHILD /* | G_SPAWN_STDERR_TO_DEV_NULL */ , G_SPAWN_DO_NOT_REAP_CHILD /* | G_SPAWN_STDERR_TO_DEV_NULL */ ,
NULL, NULL, &loader->child_pid, &loader->fd_w.fd, &loader->fd_r.fd, NULL, NULL, &loader->child_pid, &loader->fd_w.fd, &loader->fd_r.fd,
NULL, NULL)) NULL, &error);
if (error) {
GST_ERROR ("Spawning gst-plugin-scanner helper failed: %s", error->message);
g_clear_error (&error);
return FALSE; return FALSE;
}
gst_poll_add_fd (loader->fdset, &loader->fd_w); gst_poll_add_fd (loader->fdset, &loader->fd_w);
gst_poll_add_fd (loader->fdset, &loader->fd_r); gst_poll_add_fd (loader->fdset, &loader->fd_r);