decoder/flac: move position code to FlacDecoder::GetDeltaPosition()

This commit is contained in:
Max Kellermann
2016-07-10 21:47:17 +02:00
parent 3b031c6ba5
commit 0246082b9b
3 changed files with 26 additions and 13 deletions

View File

@@ -151,6 +151,24 @@ flac_got_first_frame(FlacDecoder *data, const FLAC__FrameHeader *header)
0);
}
FLAC__uint64
FlacDecoder::GetDeltaPosition(const FLAC__StreamDecoder &sd)
{
FLAC__uint64 nbytes;
if (!FLAC__stream_decoder_get_decode_position(&sd, &nbytes))
return 0;
if (position > 0 && nbytes > position) {
nbytes -= position;
position += nbytes;
} else {
position = nbytes;
nbytes = 0;
}
return nbytes;
}
FLAC__StreamDecoderWriteStatus
flac_common_write(FlacDecoder *data, const FLAC__Frame * frame,
const FLAC__int32 *const buf[],