diff options
author | Max Kellermann <max@duempel.org> | 2008-04-12 04:18:19 +0000 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2008-04-12 04:18:19 +0000 |
commit | 20c4638a2eb28bd66cd4494b706f113f60a2c0e2 (patch) | |
tree | 8de8be5b19586b6cd509de8e510b95c39aac33c2 | |
parent | e20b71ed63314d68407b5583e67f2617f916a9e4 (diff) | |
download | mpd-20c4638a2eb28bd66cd4494b706f113f60a2c0e2.tar.gz mpd-20c4638a2eb28bd66cd4494b706f113f60a2c0e2.tar.xz mpd-20c4638a2eb28bd66cd4494b706f113f60a2c0e2.zip |
added output_buffer_skip()
First patch without camelCase ;)
output_buffer_skip() lets us eliminate advanceOutputBufferTo(), and
removes yet another external OutputBuffer struct access.
git-svn-id: https://svn.musicpd.org/mpd/trunk@7312 09075e82-0dd4-0310-85a5-a0d7c8717e4f
-rw-r--r-- | src/decode.c | 9 | ||||
-rw-r--r-- | src/outputBuffer.c | 6 | ||||
-rw-r--r-- | src/outputBuffer.h | 2 |
3 files changed, 9 insertions, 8 deletions
diff --git a/src/decode.c b/src/decode.c index 6e04a12e9..0dae5a1de 100644 --- a/src/decode.c +++ b/src/decode.c @@ -361,11 +361,6 @@ void decoderInit(void) FATAL("Failed to spawn decoder task: %s\n", strerror(errno)); } -static void advanceOutputBufferTo(OutputBuffer * cb, int to) -{ - cb->begin = to; -} - static void crossFade(OutputBufferChunk * a, OutputBufferChunk * b, AudioFormat * format, unsigned int fadePosition, unsigned int crossFadeChunks) @@ -576,9 +571,7 @@ static void decodeParent(PlayerControl * pc, DecoderControl * dc, OutputBuffer * /* the cross-fade is finished; skip the section which was cross-faded (and thus already played) */ - nextChunk = outputBufferAbsolute(cb, crossFadeChunks); - if (nextChunk >= 0) - advanceOutputBufferTo(cb, nextChunk); + output_buffer_skip(cb, crossFadeChunks); } doCrossFade = 0; diff --git a/src/outputBuffer.c b/src/outputBuffer.c index 0d114a1a6..4995fa9a5 100644 --- a/src/outputBuffer.c +++ b/src/outputBuffer.c @@ -218,3 +218,9 @@ int sendDataToOutputBuffer(OutputBuffer * cb, InputStream * inStream, return 0; } +void output_buffer_skip(OutputBuffer * cb, unsigned num) +{ + int i = outputBufferAbsolute(cb, num); + if (i >= 0) + cb->begin = i; +} diff --git a/src/outputBuffer.h b/src/outputBuffer.h index ac2ffac3f..28bb743b3 100644 --- a/src/outputBuffer.h +++ b/src/outputBuffer.h @@ -99,4 +99,6 @@ int sendDataToOutputBuffer(OutputBuffer * cb, float data_time, mpd_uint16 bitRate, ReplayGainInfo * replayGainInfo); +void output_buffer_skip(OutputBuffer * cb, unsigned num); + #endif |