# HG changeset patch # User jbr # Date 1232850422 0 # Node ID 94f7aca055d5faba91cacfb1d6fc38b5d23b23c0 # Parent 4f1525c698e9aae5dd2b784e2b00a3ab14c5672d flacdec: get total number of samples from STREAMINFO diff -r 4f1525c698e9 -r 94f7aca055d5 flac.h --- a/flac.h Sun Jan 25 00:34:32 2009 +0000 +++ b/flac.h Sun Jan 25 02:27:02 2009 +0000 @@ -53,6 +53,7 @@ int samplerate; /**< sample rate */\ int channels; /**< number of channels */\ int bps; /**< bits-per-sample */\ + int64_t samples; /**< total number of samples */\ typedef struct FLACStreaminfo { FLACSTREAMINFO diff -r 4f1525c698e9 -r 94f7aca055d5 flacdec.c --- a/flacdec.c Sun Jan 25 00:34:32 2009 +0000 +++ b/flacdec.c Sun Jan 25 02:27:02 2009 +0000 @@ -169,7 +169,8 @@ avctx->channels = s->channels; avctx->sample_rate = s->samplerate; - skip_bits(&gb, 36); /* total num of samples */ + s->samples = get_bits_long(&gb, 32) << 4; + s->samples |= get_bits_long(&gb, 4); skip_bits(&gb, 64); /* md5 sum */ skip_bits(&gb, 64); /* md5 sum */