From de1261ba28fbf88a31fda1483578130030a464d5 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Mon, 28 Oct 2013 17:10:12 +0100 Subject: MusicChunk: return WritableBuffer --- src/DecoderAPI.cxx | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'src/DecoderAPI.cxx') diff --git a/src/DecoderAPI.cxx b/src/DecoderAPI.cxx index eede7c903..aaa8bb17f 100644 --- a/src/DecoderAPI.cxx +++ b/src/DecoderAPI.cxx @@ -406,7 +406,6 @@ decoder_data(Decoder &decoder, while (length > 0) { struct music_chunk *chunk; - size_t nbytes; bool full; chunk = decoder_get_chunk(decoder); @@ -415,17 +414,19 @@ decoder_data(Decoder &decoder, return dc.command; } - void *dest = chunk->Write(dc.out_audio_format, - decoder.timestamp - - dc.song->start_ms / 1000.0, - kbit_rate, &nbytes); - if (dest == nullptr) { + const auto dest = + chunk->Write(dc.out_audio_format, + decoder.timestamp - + dc.song->start_ms / 1000.0, + kbit_rate); + if (dest.IsNull()) { /* the chunk is full, flush it */ decoder_flush_chunk(decoder); dc.client_cond.signal(); continue; } + size_t nbytes = dest.size; assert(nbytes > 0); if (nbytes > length) @@ -433,7 +434,7 @@ decoder_data(Decoder &decoder, /* copy the buffer */ - memcpy(dest, data, nbytes); + memcpy(dest.data, data, nbytes); /* expand the music pipe chunk */ -- cgit v1.2.3