From be8f055317cfec4a6d33a1e40e2e21fb6ec949d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Mon, 2 Jan 2006 23:37:38 +0000 Subject: [PATCH] gst-libs/gst/audio/gstringbuffer.*: Sun's Forte compiler doesn't seem to like anonymous structs, so use same setup as... Original commit message from CVS: * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_init), (gst_ring_buffer_set_flushing), (gst_ring_buffer_start), (gst_ring_buffer_pause), (wait_segment): * gst-libs/gst/audio/gstringbuffer.h: Sun's Forte compiler doesn't seem to like anonymous structs, so use same setup as in GstBaseSrc (fixes #324900). --- ChangeLog | 9 +++++++++ gst-libs/gst/audio/gstringbuffer.c | 12 ++++++------ gst-libs/gst/audio/gstringbuffer.h | 2 +- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0fec1066d9..48b3b8b0ce 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2006-01-02 Tim-Philipp Müller + + * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_init), + (gst_ring_buffer_set_flushing), (gst_ring_buffer_start), + (gst_ring_buffer_pause), (wait_segment): + * gst-libs/gst/audio/gstringbuffer.h: + Sun's Forte compiler doesn't seem to like anonymous structs, + so use same setup as in GstBaseSrc (fixes #324900). + 2005-12-30 Stefan Kost * configure.ac: diff --git a/gst-libs/gst/audio/gstringbuffer.c b/gst-libs/gst/audio/gstringbuffer.c index c3bb462b81..4c2d70e3d8 100644 --- a/gst-libs/gst/audio/gstringbuffer.c +++ b/gst-libs/gst/audio/gstringbuffer.c @@ -97,7 +97,7 @@ gst_ring_buffer_init (GstRingBuffer * ringbuffer) ringbuffer->cond = g_cond_new (); ringbuffer->waiting = 0; ringbuffer->empty_seg = NULL; - ringbuffer->flushing = TRUE; + ringbuffer->ABI.flushing = TRUE; } static void @@ -710,7 +710,7 @@ void gst_ring_buffer_set_flushing (GstRingBuffer * buf, gboolean flushing) { GST_OBJECT_LOCK (buf); - buf->flushing = flushing; + buf->ABI.flushing = flushing; gst_ring_buffer_clear_all (buf); if (flushing) { @@ -743,7 +743,7 @@ gst_ring_buffer_start (GstRingBuffer * buf) GST_DEBUG_OBJECT (buf, "starting ringbuffer"); GST_OBJECT_LOCK (buf); - if (buf->flushing) + if (buf->ABI.flushing) goto flushing; /* if stopped, set to started */ @@ -847,7 +847,7 @@ gst_ring_buffer_pause (GstRingBuffer * buf) g_return_val_if_fail (buf != NULL, FALSE); GST_OBJECT_LOCK (buf); - if (buf->flushing) + if (buf->ABI.flushing) goto flushing; res = gst_ring_buffer_pause_unlocked (buf); @@ -1058,7 +1058,7 @@ wait_segment (GstRingBuffer * buf) /* take lock first, then update our waiting flag */ GST_OBJECT_LOCK (buf); - if (buf->flushing) + if (buf->ABI.flushing) goto flushing; if (g_atomic_int_compare_and_exchange (&buf->waiting, 0, 1)) { @@ -1067,7 +1067,7 @@ wait_segment (GstRingBuffer * buf) goto not_started; GST_RING_BUFFER_WAIT (buf); - if (buf->flushing) + if (buf->ABI.flushing) goto flushing; if (g_atomic_int_get (&buf->state) != GST_RING_BUFFER_STATE_STARTED) diff --git a/gst-libs/gst/audio/gstringbuffer.h b/gst-libs/gst/audio/gstringbuffer.h index 8cd7dbccaf..cef0634ad2 100644 --- a/gst-libs/gst/audio/gstringbuffer.h +++ b/gst-libs/gst/audio/gstringbuffer.h @@ -226,7 +226,7 @@ struct _GstRingBuffer { union { struct { gboolean flushing; - }; + } ABI; /* adding + 0 to mark ABI change to be undone later */ gpointer _gst_reserved[GST_PADDING + 0]; };