[FFmpeg-devel] [BUG] Storage of 3gpp metadata in 3gp files

Larbi Joubala larbi.joubala
Fri May 29 14:51:18 CEST 2009


Aurelien Jacobs a ?crit :
> On Fri, May 29, 2009 at 11:21:57AM +0200, Larbi Joubala wrote:
>   
>> Baptiste Coudurier a ?crit :
>>     
>>> Hi,
>>>
>>> Larbi Joubala wrote:
>>>   
>>>       
>>>> Hi guys!
>>>>
>>>>    I recently found that when I set metadata in 3gp files that the
>>>> metadata are not displayed by any players or tools. I tested with
>>>> QuickTime player and an other mp4/3gp/mov file analyzer
>>>> tool("scenescope"). Then, to see where the issue comes from, I digged in
>>>> the source code in paricularly "movenc.c" and I found out that the
>>>> metadata are stored in UTF16 way but without the BOM(Byte Order Marker)
>>>> to indicate the endianness. The 3gp standard say that the metadata value
>>>> can be stored in UTF8 way or UTF16 way but for UTF16 the string value
>>>> shall start with the following BOM 0xFFFE for big-endian.
>>>>
>>>> Is this issue known and why don't store the metadata value with UTF8
>>>> encoding characters to avoid to add the BOM in the beginning of the string?
>>>>     
>>>>         
>>> UTF8 is prefered I think.
>>>
>>>   
>>>       
>> Ok, so here is a patch which allows MOV muxer to store 3gpp metadata  
>> value in a UTF8 way.
>>
>> Index: movenc.c
>> ===================================================================
>> --- movenc.c	(revision 18980)
>> +++ movenc.c	(working copy)
>> @@ -1437,7 +1437,8 @@
>>          put_be16(pb, atoi(t->value));
>>      else {
>>          put_be16(pb, language_code("eng")); /* language */
>> -        ascii_to_wc(pb, t->value);
>> +        put_buffer(pb, t->value, strlen(t->value)); /* string value */
>> +        put_byte(pb, 0); /* string NULL-terminated */
>>     
>
> Just use:
>   put_buffer(pb, t->value, strlen(t->value)+1);
> so that you don't need to manually add the 0 byte at the end.
>
> Aurel
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at mplayerhq.hu
> https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-devel
>
>   
Ok, no problem.
I attached the updated patch.

-- 
-------------------------------------
*Larbi Joubala
* -------------------------------------
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: patch_movenc.patch
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090529/ef712048/attachment.asc>



More information about the ffmpeg-devel mailing list