You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02: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:
		| @@ -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); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user