changeset 29471:7dd86fa7fcad

Add Dolby TrueHD support for mkv demuxer. Patch by Jason Tackaberry, tack urandom ca
author cehoyos
date Thu, 13 Aug 2009 21:54:08 +0000
parents 6b8f383679ea
children ce53e67e8633
files libmpdemux/demux_mkv.c libmpdemux/matroska.h
diffstat 2 files changed, 5 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/libmpdemux/demux_mkv.c	Thu Aug 13 19:03:14 2009 +0000
+++ b/libmpdemux/demux_mkv.c	Thu Aug 13 21:54:08 2009 +0000
@@ -1751,6 +1751,8 @@
         track->a_formattag = mmioFOURCC('Q', 'D', 'M', '2');
       else if (!strcmp(track->codec_id, MKV_A_WAVPACK))
         track->a_formattag = mmioFOURCC('W', 'V', 'P', 'K');
+      else if (!strcmp(track->codec_id, MKV_A_TRUEHD))
+        track->a_formattag = mmioFOURCC('T', 'R', 'H', 'D');
       else if (!strcmp(track->codec_id, MKV_A_FLAC))
         {
           if (track->private_data == NULL || track->private_size == 0)
@@ -1990,7 +1992,8 @@
       dp->flags = 0;
       ds_add_packet (demuxer->audio, dp);
     }
-  else if (track->a_formattag == mmioFOURCC('W', 'V', 'P', 'K'))
+  else if (track->a_formattag == mmioFOURCC('W', 'V', 'P', 'K') ||
+           track->a_formattag == mmioFOURCC('T', 'R', 'H', 'D'))
     {  /* do nothing, still works */  }
   else if (!track->ms_compat || (track->private_size < sizeof(WAVEFORMATEX)))
     {
--- a/libmpdemux/matroska.h	Thu Aug 13 19:03:14 2009 +0000
+++ b/libmpdemux/matroska.h	Thu Aug 13 21:54:08 2009 +0000
@@ -50,6 +50,7 @@
 #define MKV_A_QDMC2      "A_QUICKTIME/QDM2"
 #define MKV_A_FLAC       "A_FLAC"
 #define MKV_A_WAVPACK    "A_WAVPACK4"
+#define MKV_A_TRUEHD     "A_TRUEHD"
 
 #define MKV_V_MSCOMP     "V_MS/VFW/FOURCC"
 #define MKV_V_REALV10    "V_REAL/RV10"