avformat/mov_chan: do not assume channels are in native order
Existing code could have caused wrong channel order signalling or reduced channel count if a channel designation appeared multiple times. This is actually an old bug, but the conversion to the new channel layout API made it visible, because now the code overrides the proper channel count with the one calculated from the mask. Signed-off-by: Marton Balint <cus@passwd.hu>
This commit is contained in:
@@ -530,7 +530,7 @@ int ff_mov_read_chan(AVFormatContext *s, AVIOContext *pb, AVStream *st,
|
||||
size -= 20;
|
||||
if (layout_tag == 0) {
|
||||
uint64_t mask_incr = mov_get_channel_mask(label);
|
||||
if (mask_incr == 0) {
|
||||
if (mask_incr == 0 || mask_incr <= label_mask) {
|
||||
label_mask = 0;
|
||||
break;
|
||||
}
|
||||
|
Reference in New Issue
Block a user