some fixes for non-blocking seek :-)

git-svn-id: https://svn.musicpd.org/mpd/trunk@1100 09075e82-0dd4-0310-85a5-a0d7c8717e4f
This commit is contained in:
Warren Dukes 2004-05-20 00:08:22 +00:00
parent a81573ef05
commit 70d4397366
3 changed files with 4 additions and 26 deletions

View File

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

View File

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

View File

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