mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-01-22 23:33:11 +00:00
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
This commit is contained in:
parent
dee34af4d6
commit
4c1645a458
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user