[vlc-commits] demux/mkv: fix playback of files with invalid A_AAC/MPEG{2, 3}/ specification
Filip Roséen
git at videolan.org
Sat Feb 25 21:45:16 CET 2017
vlc | branch: master | Filip Roséen <filip at atch.se> | Sat Feb 25 20:44:22 2017 +0100| [5c83aea8accd40210c86cd12fbe92f811ef76a1d] | committer: Jean-Baptiste Kempf
demux/mkv: fix playback of files with invalid A_AAC/MPEG{2, 3}/ specification
Tracks matching the two introduced statements are invalid, but we still played
them fine prior to the refactoring (perhaps intentionally).
In order to stay somewhat back-compatible with earlier versions the two cases
are now added back (since there are actual files in the wild with the invalid
spec).
refs #4250
Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=5c83aea8accd40210c86cd12fbe92f811ef76a1d
---
modules/demux/mkv/matroska_segment_parse.cpp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/modules/demux/mkv/matroska_segment_parse.cpp b/modules/demux/mkv/matroska_segment_parse.cpp
index 30aa550..e6debba 100644
--- a/modules/demux/mkv/matroska_segment_parse.cpp
+++ b/modules/demux/mkv/matroska_segment_parse.cpp
@@ -1634,6 +1634,8 @@ int32_t matroska_segment_c::TrackInit( mkv_track_t * p_tk )
S_CASE("A_AAC/MPEG4/LTP") { A_AAC_MPEG__helper( vars, 3 ); }
S_CASE("A_AAC/MPEG2/LC/SBR") { A_AAC_MPEG__helper( vars, 1, true ); }
S_CASE("A_AAC/MPEG4/LC/SBR") { A_AAC_MPEG__helper( vars, 1, true ); }
+ S_CASE("A_AAC/MPEG4/") { A_AAC_MPEG__helper( vars, 3 ); } // see #4250
+ S_CASE("A_AAC/MPEG2/") { A_AAC_MPEG__helper( vars, 3 ); } // backward compatibility
S_CASE("A_AAC") {
vars.p_tk->fmt.i_codec = VLC_CODEC_MP4A;
fill_extra_data( vars.p_tk, 0 );
More information about the vlc-commits
mailing list