mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 12:11:13 +00:00
gst/: Work around missing bits of thread-safety on older GLibs some more to avoid assertions when starting up multipl...
Original commit message from CVS: * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_class_init): * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_class_init): * gst/playback/gstplayback.c: (plugin_init): * gst/volume/gstvolume.c: (plugin_init): Work around missing bits of thread-safety on older GLibs some more to avoid assertions when starting up multiple playbin objects concurrently (see #512382).
This commit is contained in:
parent
c1a32ecf46
commit
7a29d716bd
5 changed files with 26 additions and 0 deletions
12
ChangeLog
12
ChangeLog
|
@ -1,3 +1,15 @@
|
||||||
|
2008-04-06 Tim-Philipp Müller <tim at centricular dot net>
|
||||||
|
|
||||||
|
* gst-libs/gst/audio/gstbaseaudiosink.c:
|
||||||
|
(gst_base_audio_sink_class_init):
|
||||||
|
* gst-libs/gst/audio/gstbaseaudiosrc.c:
|
||||||
|
(gst_base_audio_src_class_init):
|
||||||
|
* gst/playback/gstplayback.c: (plugin_init):
|
||||||
|
* gst/volume/gstvolume.c: (plugin_init):
|
||||||
|
Work around missing bits of thread-safety on older GLibs some
|
||||||
|
more to avoid assertions when starting up multiple playbin
|
||||||
|
objects concurrently (see #512382).
|
||||||
|
|
||||||
2008-04-06 Tim-Philipp Müller <tim at centricular dot net>
|
2008-04-06 Tim-Philipp Müller <tim at centricular dot net>
|
||||||
|
|
||||||
* gst-libs/gst/pbutils/missing-plugins.c: (copy_and_clean_caps):
|
* gst-libs/gst/pbutils/missing-plugins.c: (copy_and_clean_caps):
|
||||||
|
|
|
@ -216,6 +216,7 @@ gst_base_audio_sink_class_init (GstBaseAudioSinkClass * klass)
|
||||||
/* ref class from a thread-safe context to work around missing bit of
|
/* ref class from a thread-safe context to work around missing bit of
|
||||||
* thread-safety in GObject */
|
* thread-safety in GObject */
|
||||||
g_type_class_ref (GST_TYPE_AUDIO_CLOCK);
|
g_type_class_ref (GST_TYPE_AUDIO_CLOCK);
|
||||||
|
g_type_class_ref (GST_TYPE_RING_BUFFER);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
|
@ -175,6 +175,7 @@ gst_base_audio_src_class_init (GstBaseAudioSrcClass * klass)
|
||||||
/* ref class from a thread-safe context to work around missing bit of
|
/* ref class from a thread-safe context to work around missing bit of
|
||||||
* thread-safety in GObject */
|
* thread-safety in GObject */
|
||||||
g_type_class_ref (GST_TYPE_AUDIO_CLOCK);
|
g_type_class_ref (GST_TYPE_AUDIO_CLOCK);
|
||||||
|
g_type_class_ref (GST_TYPE_RING_BUFFER);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
|
@ -27,6 +27,9 @@
|
||||||
#include <gst/gst-i18n-plugin.h>
|
#include <gst/gst-i18n-plugin.h>
|
||||||
#include <gst/pbutils/pbutils.h>
|
#include <gst/pbutils/pbutils.h>
|
||||||
|
|
||||||
|
#include "gststreamselector.h"
|
||||||
|
#include "gststreaminfo.h"
|
||||||
|
|
||||||
gboolean gst_play_bin_plugin_init (GstPlugin * plugin);
|
gboolean gst_play_bin_plugin_init (GstPlugin * plugin);
|
||||||
gboolean gst_play_bin2_plugin_init (GstPlugin * plugin);
|
gboolean gst_play_bin2_plugin_init (GstPlugin * plugin);
|
||||||
|
|
||||||
|
@ -43,6 +46,11 @@ plugin_init (GstPlugin * plugin)
|
||||||
bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
|
bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
|
||||||
#endif /* ENABLE_NLS */
|
#endif /* ENABLE_NLS */
|
||||||
|
|
||||||
|
/* ref class from a thread-safe context to work around missing bit of
|
||||||
|
* thread-safety in GObject */
|
||||||
|
g_type_class_ref (GST_TYPE_STREAM_INFO);
|
||||||
|
g_type_class_ref (GST_TYPE_STREAM_SELECTOR);
|
||||||
|
|
||||||
res = gst_play_bin_plugin_init (plugin);
|
res = gst_play_bin_plugin_init (plugin);
|
||||||
res &= gst_play_bin2_plugin_init (plugin);
|
res &= gst_play_bin2_plugin_init (plugin);
|
||||||
|
|
||||||
|
|
|
@ -801,6 +801,10 @@ plugin_init (GstPlugin * plugin)
|
||||||
|
|
||||||
GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "volume", 0, "Volume gain");
|
GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "volume", 0, "Volume gain");
|
||||||
|
|
||||||
|
/* ref class from a thread-safe context to work around missing bit of
|
||||||
|
* thread-safety in GObject */
|
||||||
|
g_type_class_ref (GST_TYPE_MIXER_TRACK);
|
||||||
|
|
||||||
return gst_element_register (plugin, "volume", GST_RANK_NONE,
|
return gst_element_register (plugin, "volume", GST_RANK_NONE,
|
||||||
GST_TYPE_VOLUME);
|
GST_TYPE_VOLUME);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue