summaryrefslogtreecommitdiff
path: root/libavformat/rmdec.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-09-09 00:46:44 +0200
committerMichael Niedermayer <michaelni@gmx.at>2014-09-11 14:13:03 +0200
commitea7ebadeb78c76ff14a85982d22fe4976aee3fbd (patch)
tree87d0cee57557bac991de670572fb5824144f54b6 /libavformat/rmdec.c
parent16de4d927e8bd1308694217af6027265700b3694 (diff)
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.c15
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))