fix bug in verify_write_callback_ where the FIFO dequeueing did not memmove all the...
authorJosh Coalson <jcoalson@users.sourceforce.net>
Thu, 9 Nov 2006 07:06:33 +0000 (07:06 +0000)
committerJosh Coalson <jcoalson@users.sourceforce.net>
Thu, 9 Nov 2006 07:06:33 +0000 (07:06 +0000)
src/libFLAC/stream_encoder.c

index 5b7f337..06539c4 100644 (file)
@@ -4442,10 +4442,9 @@ FLAC__StreamDecoderWriteStatus verify_write_callback_(const FLAC__StreamDecoder
                }
        }
        /* dequeue the frame from the fifo */
-       for(channel = 0; channel < channels; channel++) {
-               memmove(&encoder->private_->verify.input_fifo.data[channel][0], &encoder->private_->verify.input_fifo.data[channel][blocksize], encoder->private_->verify.input_fifo.tail - blocksize);
-       }
        encoder->private_->verify.input_fifo.tail -= blocksize;
+       for(channel = 0; channel < channels; channel++)
+               memmove(&encoder->private_->verify.input_fifo.data[channel][0], &encoder->private_->verify.input_fifo.data[channel][blocksize], encoder->private_->verify.input_fifo.tail * sizeof(encoder->private_->verify.input_fifo.data[0][0]));
        return FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE;
 }