Browse Source

avcodec/dca_exss: always update downmix flags

Fixes potential parsing failure when total number of channels indicated
by EXSS asset descriptor decreases mid-stream and stale embedded downmix
flags are referenced.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
tags/n3.1
foo86 Michael Niedermayer 9 years ago
parent
commit
9bd1d79584
1 changed files with 2 additions and 4 deletions
  1. +2
    -4
      libavcodec/dca_exss.c

+ 2
- 4
libavcodec/dca_exss.c View File

@@ -112,12 +112,10 @@ static int parse_descriptor(DCAExssParser *s, DCAExssAsset *asset)
int nspeakers[8];

// Embedded stereo flag
if (asset->nchannels_total > 2)
asset->embedded_stereo = get_bits1(&s->gb);
asset->embedded_stereo = asset->nchannels_total > 2 && get_bits1(&s->gb);

// Embedded 6 channels flag
if (asset->nchannels_total > 6)
asset->embedded_6ch = get_bits1(&s->gb);
asset->embedded_6ch = asset->nchannels_total > 6 && get_bits1(&s->gb);

// Speaker mask enabled flag
if (asset->spkr_mask_enabled = get_bits1(&s->gb)) {


Loading…
Cancel
Save