From: Josh Coalson Date: Thu, 27 Nov 2003 18:15:17 +0000 (+0000) Subject: fix bug in sample_number calculation from frame header X-Git-Tag: 1.2.0~982 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2eed0b9e6f4501df4fb015f5525a7a1de03db112;p=platform%2Fupstream%2Fflac.git fix bug in sample_number calculation from frame header --- diff --git a/src/libFLAC/stream_decoder.c b/src/libFLAC/stream_decoder.c index ad1adae..7674fa7 100644 --- a/src/libFLAC/stream_decoder.c +++ b/src/libFLAC/stream_decoder.c @@ -1662,13 +1662,15 @@ FLAC__bool read_frame_header_(FLAC__StreamDecoder *decoder) return true; } decoder->private_->last_frame_number = x; - if(decoder->private_->has_stream_info) { - decoder->private_->frame.header.number_type = FLAC__FRAME_NUMBER_TYPE_SAMPLE_NUMBER; - decoder->private_->frame.header.number.sample_number = (FLAC__int64)decoder->private_->stream_info.data.stream_info.min_blocksize * (FLAC__int64)x; - } - else { - is_unparseable = true; + decoder->private_->frame.header.number_type = FLAC__FRAME_NUMBER_TYPE_SAMPLE_NUMBER; + if(blocksize_hint) { + if(decoder->private_->has_stream_info) + decoder->private_->frame.header.number.sample_number = (FLAC__int64)decoder->private_->stream_info.data.stream_info.min_blocksize * (FLAC__int64)x; + else + is_unparseable = true; } + else + decoder->private_->frame.header.number.sample_number = (FLAC__int64)decoder->private_->frame.header.blocksize * (FLAC__int64)x; } if(blocksize_hint) {