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:
parent
a81573ef05
commit
70d4397366
@ -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) {
|
||||
|
@ -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 &&
|
||||
|
@ -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) {
|
||||
|
Loading…
Reference in New Issue
Block a user