From: Jean-Baptiste Kempf Date: Tue, 14 Apr 2009 17:31:17 +0000 (+0200) Subject: MKV: fix support of MLP tracks in MKV. X-Git-Tag: 1.0.0-pre2~58 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=f7a5c96acdcb1b6adb1126f7533b480ca4265540;p=vlc MKV: fix support of MLP tracks in MKV. Sample can be found at ftp://streams.videolan.org/streams-videolan/matroska/MLP_5.1.mka It seems to work, but I have difficulties to find a reference output. Support for TrueHD is not yet tested because of lack of correct sample. --- diff --git a/modules/demux/mkv/matroska_segment.cpp b/modules/demux/mkv/matroska_segment.cpp index 2c8c924e08..26d43b4bdc 100644 --- a/modules/demux/mkv/matroska_segment.cpp +++ b/modules/demux/mkv/matroska_segment.cpp @@ -854,6 +854,16 @@ bool matroska_segment_c::Select( mtime_t i_start_time ) { tracks[i_track]->fmt.i_codec = VLC_FOURCC( 'd', 't', 's', ' ' ); } + else if( !strcmp( tracks[i_track]->psz_codec, "A_MLP" ) ) + { + tracks[i_track]->fmt.i_codec = VLC_FOURCC('m', 'l', 'p', ' ' ); + } + else if( !strcmp( tracks[i_track]->psz_codec, "A_TRUEHD" ) ) + { + /* FIXME when more samples arrive */ + tracks[i_track]->fmt.i_codec = VLC_FOURCC('t', 'r', 'h', 'd' ); + p_fmt->b_packetized = false; + } else if( !strcmp( tracks[i_track]->psz_codec, "A_FLAC" ) ) { tracks[i_track]->fmt.i_codec = VLC_FOURCC( 'f', 'l', 'a', 'c' );