[FFmpeg-devel] [PATCH] movdec: handle 0x7fff langcode as macintosh per the specs
Baptiste Coudurier
baptiste.coudurier at gmail.com
Wed Mar 21 22:18:16 CET 2012
---
libavformat/isom.c | 2 +-
libavformat/mov.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/libavformat/isom.c b/libavformat/isom.c
index f12ba2c..f45a727 100644
--- a/libavformat/isom.c
+++ b/libavformat/isom.c
@@ -347,7 +347,7 @@ int ff_mov_lang_to_iso639(unsigned code, char to[4])
memset(to, 0, 4);
/* is it the mangled iso code? */
/* see http://www.geocities.com/xhelmboyx/quicktime/formats/mp4-layout.txt */
- if (code > 138) {
+ if (code >= 0x400 && code != 0x7fff) {
for (i = 2; i >= 0; i--) {
to[i] = 0x60 + (code & 0x1f);
code >>= 5;
diff --git a/libavformat/mov.c b/libavformat/mov.c
index de290aa..88f6728 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -253,7 +253,7 @@ static int mov_read_udta_string(MOVContext *c, AVIOContext *pb, MOVAtom atom)
if (parse)
parse(c, pb, str_size, key);
else {
- if (data_type == 3 || (data_type == 0 && langcode < 0x800)) { // MAC Encoded
+ if (data_type == 3 || (data_type == 0 && (langcode < 0x400 || langcode == 0x7fff)) { // MAC Encoded
mov_read_mac_string(c, pb, str_size, str, sizeof(str));
} else {
avio_read(pb, str, str_size);
--
1.7.9.1
More information about the ffmpeg-devel
mailing list