[FFmpeg-cvslog] avformat/rmdec: very basic MLTI support

Michael Niedermayer git at videolan.org
Thu Sep 11 14:13:35 CEST 2014


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Tue Sep  9 00:46:44 2014 +0200| [ea7ebadeb78c76ff14a85982d22fe4976aee3fbd] | committer: Michael Niedermayer

avformat/rmdec: very basic MLTI support

Fixes Ticket2152

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ea7ebadeb78c76ff14a85982d22fe4976aee3fbd
---

 libavformat/rmdec.c |   15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/libavformat/rmdec.c b/libavformat/rmdec.c
index f53ab8c..5d9c9b5 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))



More information about the ffmpeg-cvslog mailing list