Always consider the mov language code as 4 bytes fixed size and change the

function declaration to reflect this.

Originally committed as revision 21558 to svn://svn.ffmpeg.org/ffmpeg/trunk
release/0.6
Reimar Döffinger 15 years ago
parent 832ec42858
commit 1c90d2985d
  1. 5
      libavformat/isom.c
  2. 4
      libavformat/isom.h

@ -266,7 +266,7 @@ static const char * const mov_mdhd_language_map[] = {
"cat", "lat", "que", "grn", "aym", "tat", "uig", "dzo", "jav" "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; int i, code = 0;
@ -293,9 +293,10 @@ int ff_mov_iso639_to_lang(const char *lang, int mp4)
return code; 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; int i;
memset(to, 0, 4);
/* is it the mangled iso code? */ /* is it the mangled iso code? */
/* see http://www.geocities.com/xhelmboyx/quicktime/formats/mp4-layout.txt */ /* see http://www.geocities.com/xhelmboyx/quicktime/formats/mp4-layout.txt */
if (code > 138) { if (code > 138) {

@ -34,8 +34,8 @@ extern const AVCodecTag codec_movvideo_tags[];
extern const AVCodecTag codec_movaudio_tags[]; extern const AVCodecTag codec_movaudio_tags[];
extern const AVCodecTag ff_codec_movsubtitle_tags[]; extern const AVCodecTag ff_codec_movsubtitle_tags[];
int ff_mov_iso639_to_lang(const char *lang, int mp4); int ff_mov_iso639_to_lang(const char lang[4], int mp4);
int ff_mov_lang_to_iso639(unsigned code, char *to); int ff_mov_lang_to_iso639(unsigned code, char to[4]);
/* the QuickTime file format is quite convoluted... /* the QuickTime file format is quite convoluted...
* it has lots of index tables, each indexing something in another one... * it has lots of index tables, each indexing something in another one...

Loading…
Cancel
Save