# HG changeset patch # User reimar # Date 1254303836 0 # Node ID 4d1a325b53cca3808e5ebdc33cb094886c71f959 # Parent c872818a8e1f8ea91af637da7f5effc659979eb3 Convert latin1 codec_name in mov to UTF-8, since all strings in FFmpeg must be valid UTF-8. diff -r c872818a8e1f -r 4d1a325b53cc mov.c --- a/mov.c Tue Sep 29 10:23:47 2009 +0000 +++ b/mov.c Wed Sep 30 09:43:56 2009 +0000 @@ -909,8 +909,13 @@ get_buffer(pb, codec_name, 32); /* codec name, pascal string */ if (codec_name[0] <= 31) { - memcpy(st->codec->codec_name, &codec_name[1],codec_name[0]); - st->codec->codec_name[codec_name[0]] = 0; + int i; + int pos = 0; + for (i = 0; i < codec_name[0] && pos < sizeof(st->codec->codec_name) - 3; i++) { + uint8_t tmp; + PUT_UTF8(codec_name[i], tmp, st->codec->codec_name[pos++] = tmp;) + } + st->codec->codec_name[pos] = 0; } st->codec->bits_per_coded_sample = get_be16(pb); /* depth */