1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-01-29 22:00:58 +02:00

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>
(cherry picked from commit 3d3cad7483785191b99557c78d5a4a551088c549)
This commit is contained in:
Marton Balint 2024-01-29 19:58:18 +01:00
parent c36c91900f
commit f471851169

View File

@ -534,7 +534,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;
}