[vlc-commits] demux: mkv: parse language codes with embedded country codes

Shaleen Jain git at videolan.org
Tue May 2 10:17:51 CEST 2017


vlc | branch: master | Shaleen Jain <shaleen.jain95 at gmail.com> | Thu Apr 27 22:40:28 2017 +0530| [ac9ad115ab5ae785b718e89de5dcf55faf423a9d] | committer: Hugo Beauzée-Luyssen

demux: mkv: parse language codes with embedded country codes

fixes bug: https://trac.videolan.org/vlc/ticket/11813
mkv spec: https://www.matroska.org/technical/specs/index.html#languages

Signed-off-by: Hugo Beauzée-Luyssen <hugo at beauzee.fr>

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=ac9ad115ab5ae785b718e89de5dcf55faf423a9d
---

 modules/demux/mkv/matroska_segment_parse.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/modules/demux/mkv/matroska_segment_parse.cpp b/modules/demux/mkv/matroska_segment_parse.cpp
index a4138d1d06..359e439d6d 100644
--- a/modules/demux/mkv/matroska_segment_parse.cpp
+++ b/modules/demux/mkv/matroska_segment_parse.cpp
@@ -380,7 +380,8 @@ void matroska_segment_c::ParseTrackEntry( KaxTrackEntry *m )
         E_CASE( KaxTrackLanguage, lang )
         {
             free( vars.tk->fmt.psz_language );
-            vars.tk->fmt.psz_language = strdup( std::string( lang ).c_str() );
+            const std::string slang ( lang );
+            vars.tk->fmt.psz_language = strndup( slang.c_str (), slang.find_first_of( '-' ) );
             debug( vars, "Track Language=`%s'", vars.tk->fmt.psz_language );
         }
         E_CASE( KaxCodecID, codecid )



More information about the vlc-commits mailing list