Commit e8d341ce authored by Ramiro Polla's avatar Ramiro Polla

mlpdec: Split sync word error and MLP sync word check.

The previous code would print the wrong error message for MLP streams with
TrueHD noise type.

Originally committed as revision 18762 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent aff42ee0
......@@ -344,15 +344,20 @@ static int read_restart_header(MLPDecodeContext *m, GetBitContext *gbp,
: MAX_MATRIX_CHANNEL_TRUEHD;
sync_word = get_bits(gbp, 13);
s->noise_type = get_bits1(gbp);
if ((m->avctx->codec_id == CODEC_ID_MLP && s->noise_type) ||
sync_word != 0x31ea >> 1) {
if (sync_word != 0x31ea >> 1) {
av_log(m->avctx, AV_LOG_ERROR,
"restart header sync incorrect (got 0x%04x)\n", sync_word);
return -1;
}
s->noise_type = get_bits1(gbp);
if (m->avctx->codec_id == CODEC_ID_MLP && s->noise_type) {
av_log(m->avctx, AV_LOG_ERROR, "MLP must have 0x31ea sync word.\n");
return -1;
}
skip_bits(gbp, 16); /* Output timestamp */
s->min_channel = get_bits(gbp, 4);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment