Browse Source

Merge remote-tracking branch 'qatar/master'

* qatar/master:
  flac: only set channel layout if not previously set or on channel count change
  prepare 9_beta3 release

Conflicts:
	RELEASE

Merged-by: Michael Niedermayer <michaelni@gmx.at>
tags/n1.1
Michael Niedermayer 12 years ago
parent
commit
98256622a6
2 changed files with 7 additions and 3 deletions
  1. +5
    -2
      libavcodec/flac_parser.c
  2. +2
    -1
      libavcodec/flacdec.c

+ 5
- 2
libavcodec/flac_parser.c View File

@@ -457,9 +457,12 @@ static int get_best_header(FLACParseContext* fpc, const uint8_t **poutbuf,
check_header_mismatch(fpc, header, child, 0); check_header_mismatch(fpc, header, child, 0);
} }


if (header->fi.channels != fpc->avctx->channels ||
(!fpc->avctx->channel_layout && header->fi.channels <= 6)) {
fpc->avctx->channels = header->fi.channels;
ff_flac_set_channel_layout(fpc->avctx);
}
fpc->avctx->sample_rate = header->fi.samplerate; fpc->avctx->sample_rate = header->fi.samplerate;
fpc->avctx->channels = header->fi.channels;
ff_flac_set_channel_layout(fpc->avctx);
fpc->pc->duration = header->fi.blocksize; fpc->pc->duration = header->fi.blocksize;
*poutbuf = flac_fifo_read_wrap(fpc, header->offset, *poutbuf_size, *poutbuf = flac_fifo_read_wrap(fpc, header->offset, *poutbuf_size,
&fpc->wrap_buf, &fpc->wrap_buf,


+ 2
- 1
libavcodec/flacdec.c View File

@@ -424,7 +424,8 @@ static int decode_frame(FLACContext *s)
return ret; return ret;
} }
s->channels = s->avctx->channels = fi.channels; s->channels = s->avctx->channels = fi.channels;
ff_flac_set_channel_layout(s->avctx);
if (!s->avctx->channel_layout && s->channels <= 6)
ff_flac_set_channel_layout(s->avctx);
s->ch_mode = fi.ch_mode; s->ch_mode = fi.ch_mode;


if (!s->bps && !fi.bps) { if (!s->bps && !fi.bps) {


Loading…
Cancel
Save