sys/: Register special buffer types along with the objects so that they are not registered at runtime from N differen...

Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximagesink_get_type):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_type):
Register special buffer types along with the objects so
that they are not registered at runtime from N different
streaming threads since they are not threadsafe.
This commit is contained in:
Wim Taymans 2006-05-11 10:14:20 +00:00
parent 369dc2ddbd
commit 1f6e29bcb0
3 changed files with 16 additions and 0 deletions

View file

@ -1,3 +1,11 @@
2006-05-11 Wim Taymans <wim@fluendo.com>
* sys/ximage/ximagesink.c: (gst_ximagesink_get_type):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_type):
Register special buffer types along with the objects so
that they are not registered at runtime from N different
streaming threads since they are not threadsafe.
2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
* tests/check/elements/multifdsink.c: (wait_bytes_served),

View file

@ -2006,6 +2006,10 @@ gst_ximagesink_get_type (void)
&navigation_info);
g_type_add_interface_static (ximagesink_type, GST_TYPE_X_OVERLAY,
&overlay_info);
/* register type in a more safe place instead of at runtime since the
* type registration is not threadsafe. */
gst_ximage_buffer_get_type ();
}
return ximagesink_type;

View file

@ -2566,6 +2566,10 @@ gst_xvimagesink_get_type (void)
&overlay_info);
g_type_add_interface_static (xvimagesink_type, GST_TYPE_COLOR_BALANCE,
&colorbalance_info);
/* make sure type is registered and not at runtime as this is not
* threadsafe */
gst_xvimage_buffer_get_type ();
}
return xvimagesink_type;