From 4c1645a4589d79501abbbba6a94247d4e6c724ad Mon Sep 17 00:00:00 2001 From: Justin Ruggles Date: Sun, 1 Nov 2009 16:48:05 +0000 Subject: [PATCH] Set sample format in flac_decode_init() rather than in ff_flac_parse_streaminfo() since the latter is shared with the raw FLAC demuxer, which should not be setting the sample format. Originally committed as revision 20430 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/flacdec.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libavcodec/flacdec.c b/libavcodec/flacdec.c index 781b4fadf1..0ebc23d6cf 100644 --- a/libavcodec/flacdec.c +++ b/libavcodec/flacdec.c @@ -125,6 +125,10 @@ static av_cold int flac_decode_init(AVCodecContext *avctx) /* initialize based on the demuxer-supplied streamdata header */ ff_flac_parse_streaminfo(avctx, (FLACStreaminfo *)s, streaminfo); + if (s->bps > 16) + avctx->sample_fmt = SAMPLE_FMT_S32; + else + avctx->sample_fmt = SAMPLE_FMT_S16; allocate_buffers(s); s->got_streaminfo = 1; @@ -186,10 +190,6 @@ void ff_flac_parse_streaminfo(AVCodecContext *avctx, struct FLACStreaminfo *s, avctx->channels = s->channels; avctx->sample_rate = s->samplerate; avctx->bits_per_raw_sample = s->bps; - if (s->bps > 16) - avctx->sample_fmt = SAMPLE_FMT_S32; - else - avctx->sample_fmt = SAMPLE_FMT_S16; s->samples = get_bits_long(&gb, 32) << 4; s->samples |= get_bits(&gb, 4);