projects
/
platform
/
upstream
/
gstreamer.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'upstream/1.16' into tizen_gst_1.16.2
[platform/upstream/gstreamer.git]
/
gst
/
gstelementfactory.c
diff --git
a/gst/gstelementfactory.c
b/gst/gstelementfactory.c
index
4caa310
..
b538613
100644
(file)
--- a/
gst/gstelementfactory.c
+++ b/
gst/gstelementfactory.c
@@
-391,6
+391,12
@@
gst_element_factory_create (GstElementFactory * factory, const gchar * name)
/* This ref will never be dropped as the class is never destroyed */
GST_OBJECT_FLAG_SET (factory, GST_OBJECT_FLAG_MAY_BE_LEAKED);
/* This ref will never be dropped as the class is never destroyed */
GST_OBJECT_FLAG_SET (factory, GST_OBJECT_FLAG_MAY_BE_LEAKED);
+ /* Ensure that the reference is floating. Bindings might have a hard time
+ * making sure that the reference is indeed still floating after returning
+ * here */
+ if (element)
+ g_object_force_floating ((GObject *) element);
+
GST_DEBUG ("created element \"%s\"", GST_OBJECT_NAME (factory));
return element;
GST_DEBUG ("created element \"%s\"", GST_OBJECT_NAME (factory));
return element;
@@
-514,6
+520,8
@@
const gchar *
gst_element_factory_get_metadata (GstElementFactory * factory,
const gchar * key)
{
gst_element_factory_get_metadata (GstElementFactory * factory,
const gchar * key)
{
+ g_return_val_if_fail (GST_IS_ELEMENT_FACTORY (factory), NULL);
+
return gst_structure_get_string ((GstStructure *) factory->metadata, key);
}
return gst_structure_get_string ((GstStructure *) factory->metadata, key);
}