# HG changeset patch # User mosu # Date 1099126024 0 # Node ID 5c0fda3b83c3c8d5daf5b230653dd39389a27842 # Parent 0bd7ccf63c54939fd09ac9f89dd6af88cc7ad60e DTS uses the format tag 0x2001. Patch by Joakim Plate (joakim ! plate () ecce ! se) diff -r 0bd7ccf63c54 -r 5c0fda3b83c3 libmpdemux/demux_mkv.c --- a/libmpdemux/demux_mkv.c Sat Oct 30 08:42:25 2004 +0000 +++ b/libmpdemux/demux_mkv.c Sat Oct 30 08:47:04 2004 +0000 @@ -1690,9 +1690,10 @@ if (!strcmp(track->codec_id, MKV_A_MP3) || !strcmp(track->codec_id, MKV_A_MP2)) track->a_formattag = 0x0055; - else if (!strncmp(track->codec_id, MKV_A_AC3, strlen(MKV_A_AC3)) || - !strcmp(track->codec_id, MKV_A_DTS)) + else if (!strncmp(track->codec_id, MKV_A_AC3, strlen(MKV_A_AC3))) track->a_formattag = 0x2000; + else if (!strcmp(track->codec_id, MKV_A_DTS)) + track->a_formattag = 0x2001; else if (!strcmp(track->codec_id, MKV_A_PCM) || !strcmp(track->codec_id, MKV_A_PCM_BE)) track->a_formattag = 0x0001; @@ -1810,7 +1811,8 @@ sh_a->wf->nAvgBytesPerSec = 16000; sh_a->wf->nBlockAlign = 1152; } - else if (!strncmp(track->codec_id, MKV_A_AC3, strlen(MKV_A_AC3))) + else if ((track->a_formattag == 0x2000) || /* AC3 */ + (track->a_formattag == 0x2001)) /* DTS */ { sh_a->wf->nAvgBytesPerSec = 16000; sh_a->wf->nBlockAlign = 1536;