+2005-09-29 David Schleef <ds@schleef.org>
+
+ * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
+ more end-user friendly.
+ * tools/gst-inspect.c: (main): Check if command-line argument is
+ a file and attempt to load that file as a plugin.
+
2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
* check/gst/gstbin.c:
g_set_error (error,
GST_PLUGIN_ERROR,
GST_PLUGIN_ERROR_MODULE,
- "Could not find plugin entry point in \"%s\"", filename);
+ "File \"%s\" is not a GStreamer plugin", filename);
goto return_error;
}
plugin->orig_desc = (GstPluginDesc *) ptr;
g_set_error (error,
GST_PLUGIN_ERROR,
GST_PLUGIN_ERROR_MODULE,
- "gst_plugin_register_func failed for plugin \"%s\"", filename);
+ "File \"%s\" appears to be a GStreamer plugin, but it failed to initialize",
+ filename);
g_module_close (module);
goto return_error;
}
print_plugin_info (plugin);
print_plugin_features (plugin);
} else {
- g_print ("No such element or plugin '%s'\n", arg);
- return -1;
+ GError *error = NULL;
+
+ if (g_file_test (arg, G_FILE_TEST_EXISTS)) {
+ plugin = gst_plugin_load_file (arg, &error);
+
+ if (plugin) {
+ print_plugin_info (plugin);
+ print_plugin_features (plugin);
+ } else {
+ g_print ("Error loading plugin file: %s\n", error->message);
+ g_error_free (error);
+ return -1;
+ }
+ } else {
+ g_print ("No such element or plugin '%s'\n", arg);
+ return -1;
+ }
}
}
}