From 48a84ca23ef40b87056214ea03b5f141a4ed54c4 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Thu, 15 Sep 2011 20:24:15 +0200 Subject: input/rewind: copy the MIME type only once Reduce heap usage by reducing the number of malloc() / free() calls. --- NEWS | 2 ++ src/input/rewind_input_plugin.c | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index ea128337e..5f0d030cd 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,7 @@ ver 0.16.5 (2010/??/??) * pcm_format: fix 32-to-24 bit conversion (the "silence" bug) +* input: + - rewind: reduce heap usage ver 0.16.4 (2011/09/01) diff --git a/src/input/rewind_input_plugin.c b/src/input/rewind_input_plugin.c index 6325a978e..f0d533bc8 100644 --- a/src/input/rewind_input_plugin.c +++ b/src/input/rewind_input_plugin.c @@ -83,12 +83,14 @@ copy_attributes(struct input_rewind *r) assert(dest != src); assert(src->mime == NULL || dest->mime != src->mime); + bool dest_ready = dest->ready; + dest->ready = src->ready; dest->seekable = src->seekable; dest->size = src->size; dest->offset = src->offset; - if (src->mime != NULL) { + if (!dest_ready && src->ready) { g_free(dest->mime); dest->mime = g_strdup(src->mime); } -- cgit v1.2.3