On Sun, Jan 24, 2010 at 07:36:19PM +0000, Carl Eugen Hoyos wrote: > Rolf Ernst <rolf.ernst <at> silverlightning.org> writes: > > > Directory is 'dts_dont_play'. > > dts_wont_play > The issue with the native ts demuxer is known, afaict, several distributions use > a work-around and I believe I reported this (or a very similar) issue on one of > the mailing lists. > Work-around is to use -demuxer lavf. This one would work, however I do not know if it will break TrueHD files Index: libmpdemux/demux_ts.c =================================================================== --- libmpdemux/demux_ts.c (revision 30425) +++ libmpdemux/demux_ts.c (working copy) @@ -1418,7 +1418,7 @@ int ssid = parse_pes_extension_fields(p, pkt_len); if((audio_substream_id!=-1) && (ssid != audio_substream_id)) return 0; - if(ssid == 0x72) + if(ssid == 0x72 && type_from_pmt != AUDIO_DTS) es->type = type_from_pmt = AUDIO_TRUEHD; } If you have a file that breaks with below patch, you can use it to test the above: Index: libmpdemux/demux_ts.c =================================================================== --- libmpdemux/demux_ts.c (revision 30425) +++ libmpdemux/demux_ts.c (working copy) @@ -1418,8 +1418,6 @@ int ssid = parse_pes_extension_fields(p, pkt_len); if((audio_substream_id!=-1) && (ssid != audio_substream_id)) return 0; - if(ssid == 0x72) - es->type = type_from_pmt = AUDIO_TRUEHD; } p += header_len + 9;