diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-09-09 00:46:44 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-09-11 14:13:03 +0200 |
commit | ea7ebadeb78c76ff14a85982d22fe4976aee3fbd (patch) | |
tree | 87d0cee57557bac991de670572fb5824144f54b6 /libavformat/rmdec.c | |
parent | 16de4d927e8bd1308694217af6027265700b3694 (diff) | |
download | ffmpeg-ea7ebadeb78c76ff14a85982d22fe4976aee3fbd.tar.gz |
avformat/rmdec: very basic MLTI support
Fixes Ticket2152
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat/rmdec.c')
-rw-r--r-- | libavformat/rmdec.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/libavformat/rmdec.c b/libavformat/rmdec.c index f53ab8c541..5d9c9b5b4f 100644 --- a/libavformat/rmdec.c +++ b/libavformat/rmdec.c @@ -315,6 +315,21 @@ ff_rm_read_mdpr_codecdata (AVFormatContext *s, AVIOContext *pb, avpriv_set_pts_info(st, 64, 1, 1000); codec_pos = avio_tell(pb); v = avio_rb32(pb); + + if (v == MKBETAG('M', 'L', 'T', 'I')) { + int number_of_streams = avio_rb16(pb); + int number_of_mdpr; + int i; + for (i = 0; i<number_of_streams; i++) + avio_rb16(pb); + number_of_mdpr = avio_rb16(pb); + if (number_of_mdpr != 1) { + avpriv_request_sample(s, "MLTI with multiple MDPR"); + } + avio_rb32(pb); + v = avio_rb32(pb); + } + if (v == MKTAG(0xfd, 'a', 'r', '.')) { /* ra type header */ if (rm_read_audio_stream_info(s, pb, st, rst, 0)) |