diff --git a/libavformat/isom.c b/libavformat/isom.c
index 45ccdd2..dcc3b74 100644
|
a
|
b
|
void ff_mov_read_chan(AVFormatContext *s, int64_t size, AVCodecContext *codec)
|
| 459 | 459 | uint32_t layout_tag; |
| 460 | 460 | AVIOContext *pb = s->pb; |
| 461 | 461 | const MovChannelLayout *layouts = mov_channel_layout; |
| 462 | | if (size != 12) { |
| | 462 | layout_tag = avio_rb32(pb); |
| | 463 | size -= 4; |
| | 464 | if (layout_tag == 0) { //< kCAFChannelLayoutTag_UseChannelDescriptions |
| 463 | 465 | // Channel descriptions not implemented |
| 464 | 466 | av_log_ask_for_sample(s, "Unimplemented container channel layout.\n"); |
| 465 | 467 | avio_skip(pb, size); |
| 466 | 468 | return; |
| 467 | 469 | } |
| 468 | | layout_tag = avio_rb32(pb); |
| 469 | 470 | if (layout_tag == 0x10000) { //< kCAFChannelLayoutTag_UseChannelBitmap |
| 470 | 471 | codec->channel_layout = avio_rb32(pb); |
| 471 | | avio_skip(pb, 4); |
| | 472 | size -= 4; |
| | 473 | avio_skip(pb, size); |
| 472 | 474 | return; |
| 473 | 475 | } |
| 474 | 476 | while (layouts->channel_layout) { |
| … |
… |
void ff_mov_read_chan(AVFormatContext *s, int64_t size, AVCodecContext *codec)
|
| 480 | 482 | } |
| 481 | 483 | if (!codec->channel_layout) |
| 482 | 484 | av_log(s, AV_LOG_WARNING, "Unknown container channel layout.\n"); |
| 483 | | avio_skip(pb, 8); |
| | 485 | avio_skip(pb, size); |
| 484 | 486 | } |
| 485 | 487 | |
| 486 | 488 | void ff_mov_write_chan(AVIOContext *pb, int64_t channel_layout) |