[FFmpeg-devel] [PATCH] Store Major brand, Minor version and compatible brands of a mov file using the metadata API
Baptiste Coudurier
baptiste.coudurier
Sat Sep 26 22:51:54 CEST 2009
On 09/22/2009 11:39 PM, haim alon wrote:
> Hi,
>
> On Tue, Sep 22, 2009 at 8:51 PM, Baptiste Coudurier<
> baptiste.coudurier at gmail.com> wrote:
>
>> Hi,
>>
>>
>>> [...]
>>>
>>> Index: libavformat/mov.c
>>> ===================================================================
>>> --- libavformat/mov.c (revision 19958)
>>> +++ libavformat/mov.c (working copy)
>>> @@ -490,15 +490,32 @@
>>> return 0; /* now go for moov */
>>> }
>>>
>>> +/* read major brand, minor version and compatible brands and store them
>>> as metadata */
>>> static int mov_read_ftyp(MOVContext *c, ByteIOContext *pb, MOVAtom atom)
>>> {
>>> - uint32_t type = get_le32(pb);
>>> + uint32_t minor_ver;
>>> + int comp_brand_size;
>>> + char major_brand_str[5]; /* 4 characters + null */
>>> + char minor_ver_str[11]; /* 32 bit integer -> 10 digits + null */
>>> + char* comp_brands_str;
>>> + uint8_t type[5] = {0};
>>>
>>> - if (type != MKTAG('q','t',' ',' '))
>>> + get_buffer(pb, type, 4);
>>> + if (strcmp(type, "qt, "))
>>> c->isom = 1;
>>> av_log(c->fc, AV_LOG_DEBUG, "ISO: File Type Major Brand:
>>> %.4s\n",(char *)&type);
>>> - get_be32(pb); /* minor version */
>>> - url_fskip(pb, atom.size - 8);
>>> + av_strlcpy(major_brand_str, type, 5); /* set major version to
>>> major_brand_str */
>>> + av_metadata_set(&c->fc->metadata, "major_brand", major_brand_str);
>>>
>>
>> You don't need the copy and major_brand_str, use type.
>>
>>
> Right
>
>
>> + minor_ver = get_be32(pb); /* minor version */
>>> + snprintf(minor_ver_str, sizeof(minor_ver_str), "%d", minor_ver);
>>> + av_metadata_set(&c->fc->metadata, "minor_version", minor_ver_str);
>>> +
>>> + comp_brand_size = atom.size - 8;
>>> + comp_brands_str = av_malloc(comp_brand_size + 1); /* Add null
>>> terminator */
>>>
>>
>> Check for malloc return.
>>
>>
> Done
>
Applied.
--
Baptiste COUDURIER
Key fingerprint 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
FFmpeg maintainer http://www.ffmpeg.org
More information about the ffmpeg-devel
mailing list