flacenc: write initial blocksize to STREAMINFO header instead of current

blocksize.

Originally committed as revision 18532 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Justin Ruggles 2009-04-16 02:28:49 +00:00
parent 799a0722fc
commit 0bc08ed941
1 changed files with 4 additions and 2 deletions

View File

@ -83,6 +83,7 @@ typedef struct FlacEncodeContext {
int channels; int channels;
int samplerate; int samplerate;
int sr_code[2]; int sr_code[2];
int max_blocksize;
int min_framesize; int min_framesize;
int max_framesize; int max_framesize;
int max_encoded_framesize; int max_encoded_framesize;
@ -107,8 +108,8 @@ static void write_streaminfo(FlacEncodeContext *s, uint8_t *header)
init_put_bits(&pb, header, FLAC_STREAMINFO_SIZE); init_put_bits(&pb, header, FLAC_STREAMINFO_SIZE);
/* streaminfo metadata block */ /* streaminfo metadata block */
put_bits(&pb, 16, s->avctx->frame_size); put_bits(&pb, 16, s->max_blocksize);
put_bits(&pb, 16, s->avctx->frame_size); put_bits(&pb, 16, s->max_blocksize);
put_bits(&pb, 24, s->min_framesize); put_bits(&pb, 24, s->min_framesize);
put_bits(&pb, 24, s->max_framesize); put_bits(&pb, 24, s->max_framesize);
put_bits(&pb, 20, s->samplerate); put_bits(&pb, 20, s->samplerate);
@ -326,6 +327,7 @@ static av_cold int flac_encode_init(AVCodecContext *avctx)
} else { } else {
s->avctx->frame_size = select_blocksize(s->samplerate, s->options.block_time_ms); s->avctx->frame_size = select_blocksize(s->samplerate, s->options.block_time_ms);
} }
s->max_blocksize = s->avctx->frame_size;
av_log(avctx, AV_LOG_DEBUG, " block size: %d\n", s->avctx->frame_size); av_log(avctx, AV_LOG_DEBUG, " block size: %d\n", s->avctx->frame_size);
/* set LPC precision */ /* set LPC precision */