Commit 70d43973 authored by Warren Dukes's avatar Warren Dukes

some fixes for non-blocking seek :-)

git-svn-id: https://svn.musicpd.org/mpd/trunk@1100 09075e82-0dd4-0310-85a5-a0d7c8717e4f
parent a81573ef
...@@ -264,7 +264,6 @@ int aac_decode(OutputBuffer * cb, DecoderControl * dc) { ...@@ -264,7 +264,6 @@ int aac_decode(OutputBuffer * cb, DecoderControl * dc) {
unsigned int sampleCount; unsigned int sampleCount;
char * sampleBuffer; char * sampleBuffer;
size_t sampleBufferLen; size_t sampleBufferLen;
int chunkLen = 0;
/*float * seekTable; /*float * seekTable;
long seekTableEnd = -1; long seekTableEnd = -1;
int seekPositionFound = 0;*/ int seekPositionFound = 0;*/
...@@ -383,17 +382,6 @@ int aac_decode(OutputBuffer * cb, DecoderControl * dc) { ...@@ -383,17 +382,6 @@ int aac_decode(OutputBuffer * cb, DecoderControl * dc) {
if(dc->state != DECODE_STATE_DECODE) return -1; 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->seek) dc->seek = 0;
if(dc->stop) { if(dc->stop) {
......
...@@ -410,7 +410,10 @@ void decodeParent(PlayerControl * pc, DecoderControl * dc, OutputBuffer * cb) { ...@@ -410,7 +410,10 @@ void decodeParent(PlayerControl * pc, DecoderControl * dc, OutputBuffer * cb) {
processDecodeInput(); processDecodeInput();
handleDecodeStart(); handleDecodeStart();
if(!dc->seek && seeking) { 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; seeking = 0;
} }
if(dc->state==DECODE_STATE_STOP && if(dc->state==DECODE_STATE_STOP &&
......
...@@ -105,7 +105,6 @@ int mp4_decode(OutputBuffer * cb, DecoderControl * dc) { ...@@ -105,7 +105,6 @@ int mp4_decode(OutputBuffer * cb, DecoderControl * dc) {
char * sampleBuffer; char * sampleBuffer;
size_t sampleBufferLen; size_t sampleBufferLen;
unsigned int initial = 1; unsigned int initial = 1;
int chunkLen = 0;
float * seekTable; float * seekTable;
long seekTableEnd = -1; long seekTableEnd = -1;
int seekPositionFound = 0; int seekPositionFound = 0;
...@@ -219,7 +218,6 @@ int mp4_decode(OutputBuffer * cb, DecoderControl * dc) { ...@@ -219,7 +218,6 @@ int mp4_decode(OutputBuffer * cb, DecoderControl * dc) {
if(dc->seek && seekPositionFound) { if(dc->seek && seekPositionFound) {
seekPositionFound = 0; seekPositionFound = 0;
chunkLen = 0;
clearOutputBuffer(cb); clearOutputBuffer(cb);
dc->seekChunk = cb->end; dc->seekChunk = cb->end;
dc->seek = 0; dc->seek = 0;
...@@ -299,17 +297,6 @@ int mp4_decode(OutputBuffer * cb, DecoderControl * dc) { ...@@ -299,17 +297,6 @@ int mp4_decode(OutputBuffer * cb, DecoderControl * dc) {
if(dc->state != DECODE_STATE_DECODE) return -1; 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->seek) dc->seek = 0;
if(dc->stop) { if(dc->stop) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment