vlc | branch: master | Filip Roséen <fi...@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 <j...@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 );

_______________________________________________
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to