flac: assume the buffer is empty in flacWrite() II
The previous patch on this topic was incomplete: it still added data->chunk_length when calling flac_convert(). Remove this, too.
This commit is contained in:
@@ -268,11 +268,11 @@ static FLAC__StreamDecoderWriteStatus flacWrite(const flac_decoder *dec,
|
|||||||
num_samples = max_samples;
|
num_samples = max_samples;
|
||||||
|
|
||||||
if (num_channels == 2 && bytes_per_sample == 2)
|
if (num_channels == 2 && bytes_per_sample == 2)
|
||||||
flac_convert_stereo16(data->chunk + data->chunk_length,
|
flac_convert_stereo16(data->chunk,
|
||||||
buf, c_samp,
|
buf, c_samp,
|
||||||
c_samp + num_samples);
|
c_samp + num_samples);
|
||||||
else
|
else
|
||||||
flac_convert(data->chunk + data->chunk_length,
|
flac_convert(data->chunk,
|
||||||
num_channels, bytes_per_sample, buf,
|
num_channels, bytes_per_sample, buf,
|
||||||
c_samp, c_samp + num_samples);
|
c_samp, c_samp + num_samples);
|
||||||
data->chunk_length = num_samples * bytes_per_channel;
|
data->chunk_length = num_samples * bytes_per_channel;
|
||||||
@@ -434,11 +434,6 @@ static int flac_decode_internal(struct decoder * decoder,
|
|||||||
flacPrintErroredState(flac_get_state(flacDec));
|
flacPrintErroredState(flac_get_state(flacDec));
|
||||||
flac_finish(flacDec);
|
flac_finish(flacDec);
|
||||||
}
|
}
|
||||||
/* send last little bit */
|
|
||||||
if (data.chunk_length > 0 && decoder_get_command(decoder) != DECODE_COMMAND_STOP) {
|
|
||||||
flacSendChunk(&data);
|
|
||||||
decoder_flush(decoder);
|
|
||||||
}
|
|
||||||
|
|
||||||
fail:
|
fail:
|
||||||
if (data.replayGainInfo)
|
if (data.replayGainInfo)
|
||||||
|
Reference in New Issue
Block a user