Always consider the mov language code as 4 bytes fixed size and change the
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>
Sat, 30 Jan 2010 21:54:06 +0000 (21:54 +0000)
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>
Sat, 30 Jan 2010 21:54:06 +0000 (21:54 +0000)
function declaration to reflect this.

Originally committed as revision 21558 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/isom.c
libavformat/isom.h

index e54a5c9..62daed0 100644 (file)
@@ -266,7 +266,7 @@ static const char * const mov_mdhd_language_map[] = {
     "cat", "lat", "que", "grn", "aym", "tat", "uig", "dzo", "jav"
 };
 
-int ff_mov_iso639_to_lang(const char *lang, int mp4)
+int ff_mov_iso639_to_lang(const char lang[4], int mp4)
 {
     int i, code = 0;
 
@@ -293,9 +293,10 @@ int ff_mov_iso639_to_lang(const char *lang, int mp4)
     return code;
 }
 
-int ff_mov_lang_to_iso639(unsigned code, char *to)
+int ff_mov_lang_to_iso639(unsigned code, char to[4])
 {
     int i;
+    memset(to, 0, 4);
     /* is it the mangled iso code? */
     /* see http://www.geocities.com/xhelmboyx/quicktime/formats/mp4-layout.txt */
     if (code > 138) {
index c8141f1..2661e8d 100644 (file)
@@ -34,8 +34,8 @@ extern const AVCodecTag codec_movvideo_tags[];
 extern const AVCodecTag codec_movaudio_tags[];
 extern const AVCodecTag ff_codec_movsubtitle_tags[];
 
-int ff_mov_iso639_to_lang(const char *lang, int mp4);
-int ff_mov_lang_to_iso639(unsigned code, char *to);
+int ff_mov_iso639_to_lang(const char lang[4], int mp4);
+int ff_mov_lang_to_iso639(unsigned code, char to[4]);
 
 /* the QuickTime file format is quite convoluted...
  * it has lots of index tables, each indexing something in another one...