Commit a74bb753 authored by Tim-Philipp Müller's avatar Tim-Philipp Müller
Browse files

sys/: Explicitly create our custom buffer classes at a thread-safe location as...

sys/: Explicitly create our custom buffer classes at a thread-safe location as well, since g_type_class_ref() doesn't...

Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximagesink_get_type):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_type):
Explicitly create our custom buffer classes at a thread-safe
location as well, since g_type_class_ref() doesn't seem to be
entirely thread-safe either (#365501; also see #349410).
parent cc156bc9
2006-10-27 Tim-Philipp Müller <tim at centricular dot net>
* sys/ximage/ximagesink.c: (gst_ximagesink_get_type):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_type):
Explicitly create our custom buffer classes at a thread-safe
location as well, since g_type_class_ref() doesn't seem to be
entirely thread-safe either (#365501; also see #349410).
2006-10-26 Tim-Philipp Müller <tim at centricular dot net> 2006-10-26 Tim-Philipp Müller <tim at centricular dot net>
   
* gst-libs/gst/riff/riff-read.c: (freeform_string_to_utf8), * gst-libs/gst/riff/riff-read.c: (freeform_string_to_utf8),
...@@ -2101,9 +2101,10 @@ gst_ximagesink_get_type (void) ...@@ -2101,9 +2101,10 @@ gst_ximagesink_get_type (void)
g_type_add_interface_static (ximagesink_type, GST_TYPE_X_OVERLAY, g_type_add_interface_static (ximagesink_type, GST_TYPE_X_OVERLAY,
&overlay_info); &overlay_info);
/* register type in a more safe place instead of at runtime since the /* register type and create class in a more safe place instead of at
* type registration is not threadsafe. */ * runtime since the type registration and class creation is not
gst_ximage_buffer_get_type (); * threadsafe. */
g_type_class_ref (gst_ximage_buffer_get_type ());
} }
return ximagesink_type; return ximagesink_type;
......
...@@ -2794,9 +2794,10 @@ gst_xvimagesink_get_type (void) ...@@ -2794,9 +2794,10 @@ gst_xvimagesink_get_type (void)
g_type_add_interface_static (xvimagesink_type, GST_TYPE_COLOR_BALANCE, g_type_add_interface_static (xvimagesink_type, GST_TYPE_COLOR_BALANCE,
&colorbalance_info); &colorbalance_info);
/* make sure type is registered and not at runtime as this is not /* register type and create class in a more safe place instead of at
* threadsafe */ * runtime since the type registration and class creation is not
gst_xvimage_buffer_get_type (); * threadsafe. */
g_type_class_ref (gst_xvimage_buffer_get_type ());
} }
return xvimagesink_type; return xvimagesink_type;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment