interleave: Work around changes in g_atomic API

See #651514 for details.
This commit is contained in:
David Schleef 2011-06-04 13:49:52 -07:00 committed by Tim-Philipp Müller
parent 1f6af8a815
commit fc3b43ef62

View file

@ -479,8 +479,13 @@ gst_interleave_request_new_pad (GstElement * element, GstPadTemplate * templ,
if (templ->direction != GST_PAD_SINK) if (templ->direction != GST_PAD_SINK)
goto not_sink_pad; goto not_sink_pad;
#if GLIB_CHECK_VERSION(2,29,5)
channels = g_atomic_int_add (&self->channels, 1);
padnumber = g_atomic_int_add (&self->padcounter, 1);
#else
channels = g_atomic_int_exchange_and_add (&self->channels, 1); channels = g_atomic_int_exchange_and_add (&self->channels, 1);
padnumber = g_atomic_int_exchange_and_add (&self->padcounter, 1); padnumber = g_atomic_int_exchange_and_add (&self->padcounter, 1);
#endif
pad_name = g_strdup_printf ("sink%d", padnumber); pad_name = g_strdup_printf ("sink%d", padnumber);
new_pad = GST_PAD_CAST (g_object_new (GST_TYPE_INTERLEAVE_PAD, new_pad = GST_PAD_CAST (g_object_new (GST_TYPE_INTERLEAVE_PAD,