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
This commit is contained in:
Max Kellermann 2008-04-12 04:13:11 +00:00 committed by Eric Wong
parent 71b24e0950
commit 7a6c31ae06
3 changed files with 11 additions and 4 deletions

View File

@ -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),

View File

@ -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

View File

@ -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,