summaryrefslogtreecommitdiff
path: root/gst
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.com>2018-01-11 17:10:45 +0000
committerTim-Philipp Müller <tim@centricular.com>2018-01-11 17:10:45 +0000
commit5feff26624068611460fafe5547eb4046726d527 (patch)
tree5023fdd6402c3102e3dd546cb8c5c9ae6cf09ebe /gst
parent4a5aa8dba03549cfc806ff2a1080b671fd86d4ed (diff)
plugin: plugin_load() must return a ref even if it was loaded already
Fix refcounting issue when plugin was loaded already. gst_plugin_load() is supposed to return a ref, so it must always return a ref. This also fixes the gstplugin unit test on windows where fork is not available and where test_load_coreelements() would unref a plugin ref it didn't get and then mess up the internal registry plugin list state for the next test, in case where the test registry does not exist yet.
Diffstat (limited to 'gst')
-rw-r--r--gst/gstplugin.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gst/gstplugin.c b/gst/gstplugin.c
index e89f33ca3..86d8abccf 100644
--- a/gst/gstplugin.c
+++ b/gst/gstplugin.c
@@ -1361,7 +1361,7 @@ gst_plugin_load (GstPlugin * plugin)
GstPlugin *newplugin;
if (gst_plugin_is_loaded (plugin)) {
- return plugin;
+ return gst_object_ref (plugin);
}
if (!(newplugin = gst_plugin_load_file (plugin->filename, &error)))