From 7a6c31ae069bb86e201d09525ef00ec265ca00f3 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Sat, 12 Apr 2008 04:13:11 +0000 Subject: added outputBufferChunkData() Hiding OutputBuffer internals, again. We get an extra assertion in return. git-svn-id: https://svn.musicpd.org/mpd/trunk@7267 09075e82-0dd4-0310-85a5-a0d7c8717e4f --- src/decode.c | 6 ++---- src/outputBuffer.c | 7 +++++++ src/outputBuffer.h | 2 ++ 3 files changed, 11 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/decode.c b/src/decode.c index 3a73d9ef2..8650184c6 100644 --- a/src/decode.c +++ b/src/decode.c @@ -506,10 +506,8 @@ static void decodeParent(PlayerControl * pc, DecoderControl * dc, OutputBuffer * } nextChunk = outputBufferAbsolute(cb, crossFadeChunks); if (nextChunk >= 0) { - pcm_mix(cb->chunks + - cb->begin * CHUNK_SIZE, - cb->chunks + - nextChunk * CHUNK_SIZE, + pcm_mix(outputBufferChunkData(cb, cb->begin), + outputBufferChunkData(cb, nextChunk), cb->chunkSize[cb->begin], cb->chunkSize[nextChunk], &(cb->audioFormat), diff --git a/src/outputBuffer.c b/src/outputBuffer.c index aadd5e379..157e36374 100644 --- a/src/outputBuffer.c +++ b/src/outputBuffer.c @@ -92,6 +92,13 @@ int outputBufferAbsolute(const OutputBuffer * cb, unsigned relative) return (int)i; } +char * outputBufferChunkData(const OutputBuffer * cb, unsigned i) +{ + assert(i < buffered_chunks); + + return cb->chunks + i * CHUNK_SIZE; +} + /** * Return the tail chunk has room for additional data. If there is no * room in the queue, this function blocks until the player thread has diff --git a/src/outputBuffer.h b/src/outputBuffer.h index 0af264c14..f2a1c8734 100644 --- a/src/outputBuffer.h +++ b/src/outputBuffer.h @@ -73,6 +73,8 @@ unsigned availableOutputBuffer(const OutputBuffer * cb); */ int outputBufferAbsolute(const OutputBuffer * cb, unsigned relative); +char * outputBufferChunkData(const OutputBuffer * cb, unsigned i); + /* we send inStream for buffering the inputStream while waiting to send the next chunk */ int sendDataToOutputBuffer(OutputBuffer * cb, -- cgit v1.2.3