diff --git a/src/outputBuffer.c b/src/outputBuffer.c index f1ea86925..b5ccaff52 100644 --- a/src/outputBuffer.c +++ b/src/outputBuffer.c @@ -74,7 +74,8 @@ int sendDataToOutputBuffer(OutputBuffer * cb, InputStream * inStream, while(datalen) { if(currentChunk != cb->end) { - while(cb->begin==cb->end && cb->wrap && !dc->stop) + while(cb->begin==cb->end && cb->wrap && !dc->stop && + !dc->seek) { if(!inStream || bufferInputStream(inStream) <= 0) @@ -83,6 +84,7 @@ int sendDataToOutputBuffer(OutputBuffer * cb, InputStream * inStream, } } if(dc->stop) return OUTPUT_BUFFER_DC_STOP; + if(dc->seek) return OUTPUT_BUFFER_DC_SEEK; currentChunk = cb->end; cb->chunkSize[currentChunk] = 0;