diff options
author | Tim-Philipp Müller <tim@centricular.com> | 2018-01-11 17:10:45 +0000 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.com> | 2018-01-11 17:10:45 +0000 |
commit | 5feff26624068611460fafe5547eb4046726d527 (patch) | |
tree | 5023fdd6402c3102e3dd546cb8c5c9ae6cf09ebe /gst | |
parent | 4a5aa8dba03549cfc806ff2a1080b671fd86d4ed (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.c | 2 |
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))) |