]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/mov_chan.c
Merge commit 'd9a2e87b1ce44cce23801e7ec6810f8bf994fa23'
[ffmpeg] / libavformat / mov_chan.c
index 475a66ba8232d19a78eb471adff0fcb4ba545dbf..58aec573740a40c3ded83431c4ee4295531e92cf 100644 (file)
@@ -543,9 +543,9 @@ uint32_t ff_mov_get_channel_layout_tag(enum AVCodecID codec_id,
     return tag;
 }
 
-int ff_mov_read_chan(AVFormatContext *s, AVStream *st, int64_t size)
+int ff_mov_read_chan(AVFormatContext *s, AVIOContext *pb, AVStream *st,
+                     int64_t size)
 {
-    AVIOContext *pb = s->pb;
     uint32_t layout_tag, bitmap, num_descr, label_mask;
     int i;
 
@@ -580,9 +580,10 @@ int ff_mov_read_chan(AVFormatContext *s, AVStream *st, int64_t size)
             label_mask |= mask_incr;
         }
     }
-    if (layout_tag == 0)
+    if (layout_tag == 0) {
+        if (label_mask)
             st->codec->channel_layout = label_mask;
-    else
+    else
         st->codec->channel_layout = ff_mov_get_channel_layout(layout_tag, bitmap);
     avio_skip(pb, size - 12);