From d41e860babc8d162379a62e337bbe9cb5ec9ae11 Mon Sep 17 00:00:00 2001 From: cehoyos Date: Thu, 13 Aug 2009 21:54:08 +0000 Subject: [PATCH] Add Dolby TrueHD support for mkv demuxer. Patch by Jason Tackaberry, tack urandom ca git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29513 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpdemux/demux_mkv.c | 5 ++++- libmpdemux/matroska.h | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/libmpdemux/demux_mkv.c b/libmpdemux/demux_mkv.c index cb4d971755..457d32709d 100644 --- a/libmpdemux/demux_mkv.c +++ b/libmpdemux/demux_mkv.c @@ -1751,6 +1751,8 @@ demux_mkv_open_audio (demuxer_t *demuxer, mkv_track_t *track, int aid) 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 @@ demux_mkv_open_audio (demuxer_t *demuxer, mkv_track_t *track, int aid) 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))) { diff --git a/libmpdemux/matroska.h b/libmpdemux/matroska.h index 3e4a404f38..3e569453c2 100644 --- a/libmpdemux/matroska.h +++ b/libmpdemux/matroska.h @@ -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"