Mercurial > mplayer.hg
comparison libmpdemux/demux_mkv.c @ 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 | 0f1b5b68af32 |
children | 5b8f21404b19 |
comparison
equal
deleted
inserted
replaced
29470:6b8f383679ea | 29471:7dd86fa7fcad |
---|---|
1749 track->a_formattag = mmioFOURCC('Q', 'D', 'M', 'C'); | 1749 track->a_formattag = mmioFOURCC('Q', 'D', 'M', 'C'); |
1750 else if (!strcmp(track->codec_id, MKV_A_QDMC2)) | 1750 else if (!strcmp(track->codec_id, MKV_A_QDMC2)) |
1751 track->a_formattag = mmioFOURCC('Q', 'D', 'M', '2'); | 1751 track->a_formattag = mmioFOURCC('Q', 'D', 'M', '2'); |
1752 else if (!strcmp(track->codec_id, MKV_A_WAVPACK)) | 1752 else if (!strcmp(track->codec_id, MKV_A_WAVPACK)) |
1753 track->a_formattag = mmioFOURCC('W', 'V', 'P', 'K'); | 1753 track->a_formattag = mmioFOURCC('W', 'V', 'P', 'K'); |
1754 else if (!strcmp(track->codec_id, MKV_A_TRUEHD)) | |
1755 track->a_formattag = mmioFOURCC('T', 'R', 'H', 'D'); | |
1754 else if (!strcmp(track->codec_id, MKV_A_FLAC)) | 1756 else if (!strcmp(track->codec_id, MKV_A_FLAC)) |
1755 { | 1757 { |
1756 if (track->private_data == NULL || track->private_size == 0) | 1758 if (track->private_data == NULL || track->private_size == 0) |
1757 { | 1759 { |
1758 mp_msg (MSGT_DEMUX, MSGL_WARN, | 1760 mp_msg (MSGT_DEMUX, MSGL_WARN, |
1988 } | 1990 } |
1989 dp->pts = 0; | 1991 dp->pts = 0; |
1990 dp->flags = 0; | 1992 dp->flags = 0; |
1991 ds_add_packet (demuxer->audio, dp); | 1993 ds_add_packet (demuxer->audio, dp); |
1992 } | 1994 } |
1993 else if (track->a_formattag == mmioFOURCC('W', 'V', 'P', 'K')) | 1995 else if (track->a_formattag == mmioFOURCC('W', 'V', 'P', 'K') || |
1996 track->a_formattag == mmioFOURCC('T', 'R', 'H', 'D')) | |
1994 { /* do nothing, still works */ } | 1997 { /* do nothing, still works */ } |
1995 else if (!track->ms_compat || (track->private_size < sizeof(WAVEFORMATEX))) | 1998 else if (!track->ms_compat || (track->private_size < sizeof(WAVEFORMATEX))) |
1996 { | 1999 { |
1997 free_sh_audio(demuxer, track->tnum); | 2000 free_sh_audio(demuxer, track->tnum); |
1998 return 1; | 2001 return 1; |