Skip to content
Snippets Groups Projects
Commit aef51507 authored by Justin Ruggles's avatar Justin Ruggles
Browse files

flac: only set channel layout if not previously set or on channel count change

Fixes Bug 402
parent 9378be9f
No related branches found
No related tags found
No related merge requests found
......@@ -457,9 +457,12 @@ static int get_best_header(FLACParseContext* fpc, const uint8_t **poutbuf,
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->channels = header->fi.channels;
ff_flac_set_channel_layout(fpc->avctx);
fpc->pc->duration = header->fi.blocksize;
*poutbuf = flac_fifo_read_wrap(fpc, header->offset, *poutbuf_size,
&fpc->wrap_buf,
......
......@@ -426,7 +426,8 @@ static int decode_frame(FLACContext *s)
return ret;
}
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;
if (!s->bps && !fi.bps) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment