From f5f1bfbef1e4f777a5928da901d0ec4cb063b3f1 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Sun, 27 Nov 2011 19:54:09 +0100 Subject: pcm_buffer: un-inline pcm_buffer_get() This method is too complex for inlining. --- src/pcm_buffer.h | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) (limited to 'src/pcm_buffer.h') diff --git a/src/pcm_buffer.h b/src/pcm_buffer.h index 73959ea03..b1c597407 100644 --- a/src/pcm_buffer.h +++ b/src/pcm_buffer.h @@ -58,19 +58,8 @@ pcm_buffer_deinit(struct pcm_buffer *buffer) * Get the buffer, and guarantee a minimum size. This buffer becomes * invalid with the next pcm_buffer_get() call. */ -static inline void * -pcm_buffer_get(struct pcm_buffer *buffer, size_t size) -{ - if (buffer->size < size) { - /* free the old buffer */ - g_free(buffer->buffer); - - /* allocate a new buffer; align at 8 kB boundaries */ - buffer->size = ((size - 1) | 0x1fff) + 1; - buffer->buffer = g_malloc(buffer->size); - } - - return buffer->buffer; -} +G_GNUC_MALLOC +void * +pcm_buffer_get(struct pcm_buffer *buffer, size_t size); #endif -- cgit v1.2.3