From 20c4638a2eb28bd66cd4494b706f113f60a2c0e2 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Sat, 12 Apr 2008 04:18:19 +0000 Subject: 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 --- src/decode.c | 9 +-------- src/outputBuffer.c | 6 ++++++ src/outputBuffer.h | 2 ++ 3 files changed, 9 insertions(+), 8 deletions(-) (limited to 'src') 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 -- cgit v1.2.3