diff options
author | Warren Dukes <warren.dukes@gmail.com> | 2004-05-20 00:08:22 +0000 |
---|---|---|
committer | Warren Dukes <warren.dukes@gmail.com> | 2004-05-20 00:08:22 +0000 |
commit | 70d439736672922f4897f7b5b5e1a21dfae83040 (patch) | |
tree | b267f69279ed472ee63b49b0fe51141ae3936a81 /src | |
parent | a81573ef059ac9f006ea438574b1b7ff751ba55d (diff) | |
download | mpd-70d439736672922f4897f7b5b5e1a21dfae83040.tar.gz mpd-70d439736672922f4897f7b5b5e1a21dfae83040.tar.xz mpd-70d439736672922f4897f7b5b5e1a21dfae83040.zip |
some fixes for non-blocking seek :-)
git-svn-id: https://svn.musicpd.org/mpd/trunk@1100 09075e82-0dd4-0310-85a5-a0d7c8717e4f
Diffstat (limited to '')
-rw-r--r-- | src/aac_decode.c | 12 | ||||
-rw-r--r-- | src/decode.c | 5 | ||||
-rw-r--r-- | src/mp4_decode.c | 13 |
3 files changed, 4 insertions, 26 deletions
diff --git a/src/aac_decode.c b/src/aac_decode.c index 70ec21dd6..9391d3539 100644 --- a/src/aac_decode.c +++ b/src/aac_decode.c @@ -264,7 +264,6 @@ int aac_decode(OutputBuffer * cb, DecoderControl * dc) { unsigned int sampleCount; char * sampleBuffer; size_t sampleBufferLen; - int chunkLen = 0; /*float * seekTable; long seekTableEnd = -1; int seekPositionFound = 0;*/ @@ -383,17 +382,6 @@ int aac_decode(OutputBuffer * cb, DecoderControl * dc) { if(dc->state != DECODE_STATE_DECODE) return -1; - if(!dc->stop && chunkLen>0) { - cb->chunkSize[cb->end] = chunkLen; - ++cb->end; - - if(cb->end>=buffered_chunks) { - cb->end = 0; - cb->wrap = 1; - } - chunkLen = 0; - } - if(dc->seek) dc->seek = 0; if(dc->stop) { diff --git a/src/decode.c b/src/decode.c index af5ca2c21..e3f13fada 100644 --- a/src/decode.c +++ b/src/decode.c @@ -410,7 +410,10 @@ void decodeParent(PlayerControl * pc, DecoderControl * dc, OutputBuffer * cb) { processDecodeInput(); handleDecodeStart(); if(!dc->seek && seeking) { - if(dc->seekChunk >= 0) cb->begin = dc->seekChunk; + if(dc->seekChunk >= 0) { + cb->begin = dc->seekChunk; + cb->wrap = 0; + } seeking = 0; } if(dc->state==DECODE_STATE_STOP && diff --git a/src/mp4_decode.c b/src/mp4_decode.c index b94023df8..f837bdacd 100644 --- a/src/mp4_decode.c +++ b/src/mp4_decode.c @@ -105,7 +105,6 @@ int mp4_decode(OutputBuffer * cb, DecoderControl * dc) { char * sampleBuffer; size_t sampleBufferLen; unsigned int initial = 1; - int chunkLen = 0; float * seekTable; long seekTableEnd = -1; int seekPositionFound = 0; @@ -219,7 +218,6 @@ int mp4_decode(OutputBuffer * cb, DecoderControl * dc) { if(dc->seek && seekPositionFound) { seekPositionFound = 0; - chunkLen = 0; clearOutputBuffer(cb); dc->seekChunk = cb->end; dc->seek = 0; @@ -299,17 +297,6 @@ int mp4_decode(OutputBuffer * cb, DecoderControl * dc) { if(dc->state != DECODE_STATE_DECODE) return -1; - if(!dc->stop && !dc->seek && chunkLen>0) { - cb->chunkSize[cb->end] = chunkLen; - ++cb->end; - - if(cb->end>=buffered_chunks) { - cb->end = 0; - cb->wrap = 1; - } - chunkLen = 0; - } - if(dc->seek) dc->seek = 0; if(dc->stop) { |