[Mplayer-cvslog] CVS: main/libmpdemux matroska.h,1.4,1.5 demux_mkv.cpp,1.18,1.19

Moritz Bunkus CVS mosu at mplayerhq.hu
Fri Jul 11 22:24:23 CEST 2003


Update of /cvsroot/mplayer/main/libmpdemux
In directory mail:/var/tmp.root/cvs-serv13477/libmpdemux

Modified Files:
	matroska.h demux_mkv.cpp 
Log Message:
Necessary changes for the upcoming libebml/libmatroska 0.5.0. Implemented support for RealAudio and RealVideo inside Matroska.

Index: matroska.h
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/matroska.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- matroska.h	19 May 2003 20:55:52 -0000	1.4
+++ matroska.h	11 Jul 2003 20:24:20 -0000	1.5
@@ -21,8 +21,17 @@
 #define MKV_A_PCM        "A_PCM/INT/LIT"
 #define MKV_A_VORBIS     "A_VORBIS"
 #define MKV_A_ACM        "A_MS/ACM"
+#define MKV_A_REAL28     "A_REAL/28_8"
+#define MKV_A_REALATRC   "A_REAL/ATRC"
+#define MKV_A_REALCOOK   "A_REAL/COOK"
+#define MKV_A_REALDNET   "A_REAL/DNET"
+#define MKV_A_REALSIPR   "A_REAL/SIPR"
 
 #define MKV_V_MSCOMP     "V_MS/VFW/FOURCC"
+#define MKV_V_REALV10    "V_REAL/RV10"
+#define MKV_V_REALV20    "V_REAL/RV20"
+#define MKV_V_REALV30    "V_REAL/RV30"
+#define MKV_V_REALV40    "V_REAL/RV40"
 
 #define MKV_S_TEXTASCII  "S_TEXT/ASCII"
 #define MKV_S_TEXTUTF8   "S_TEXT/UTF8"

Index: demux_mkv.cpp
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/demux_mkv.cpp,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- demux_mkv.cpp	12 Jun 2003 19:12:00 -0000	1.18
+++ demux_mkv.cpp	11 Jul 2003 20:24:20 -0000	1.19
@@ -22,32 +22,32 @@
 #include <iostream>
 #include <cassert>
 #include <typeinfo>
+#include <vector>
 
-#include "EbmlHead.h"
-#include "EbmlSubHead.h"
-#include "EbmlStream.h"
-#include "EbmlContexts.h"
-#include "EbmlVersion.h"
-#include "FileKax.h"
[...1182 lines suppressed...]
@@ -1916,14 +2260,18 @@
         l1 = l2;
         if (upper_lvl_el > 0)
           break;
-      } else {
+      } else if (upper_lvl_el == 0) {
         l1->SkipData(static_cast<EbmlStream &>(*es), l1->Generic().Context);
         delete l1;
         l1 = es->FindNextElement(l0->Generic().Context, upper_lvl_el,
                                  0xFFFFFFFFL, true, 1);
         if ((l1 != NULL) && (EbmlId(*l1) == KaxCluster::ClassInfos.GlobalId))
           add_cluster_position(mkv_d, l1->GetElementPosition());
+      } else {
+        delete l1;
+        l1 = l2;
       }
+
     } // while (l1 != NULL)
   } catch (exception ex) {
     mp_msg(MSGT_DEMUX, MSGL_ERR, "[mkv] exception caught\n");



More information about the MPlayer-cvslog mailing list