[FFmpeg-devel] [PATCH 4/6] MOV: pass key to metadata parse function
Baptiste Coudurier
baptiste.coudurier
Mon Nov 23 05:57:54 CET 2009
On 11/22/09 8:14 PM, David Conrad wrote:
> ---
> libavformat/mov.c | 8 ++++----
> 1 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/libavformat/mov.c b/libavformat/mov.c
> index 7ba92ff..8c42a7c 100644
> --- a/libavformat/mov.c
> +++ b/libavformat/mov.c
> @@ -80,13 +80,13 @@ typedef struct MOVParseTableEntry {
>
> static const MOVParseTableEntry mov_default_parse_table[];
>
> -static int mov_metadata_trkn(MOVContext *c, ByteIOContext *pb, unsigned len)
> +static int mov_metadata_trkn(MOVContext *c, ByteIOContext *pb, unsigned len, const char *key)
> {
> char buf[16];
>
> get_be16(pb); // unknown
> snprintf(buf, sizeof(buf), "%d", get_be16(pb));
> - av_metadata_set(&c->fc->metadata, "track", buf);
> + av_metadata_set(&c->fc->metadata, key, buf);
>
> get_be16(pb); // total tracks
>
> @@ -101,7 +101,7 @@ static int mov_read_udta_string(MOVContext *c, ByteIOContext *pb, MOVAtom atom)
> char str[1024], key2[16], language[4] = {0};
> const char *key = NULL;
> uint16_t str_size;
> - int (*parse)(MOVContext*, ByteIOContext*, unsigned) = NULL;
> + int (*parse)(MOVContext*, ByteIOContext*, unsigned, const char*) = NULL;
>
> switch (atom.type) {
> case MKTAG(0xa9,'n','a','m'): key = "title"; break;
> @@ -157,7 +157,7 @@ static int mov_read_udta_string(MOVContext *c, ByteIOContext *pb, MOVAtom atom)
> str_size = FFMIN3(sizeof(str)-1, str_size, atom.size);
>
> if (parse)
> - parse(c, pb, str_size);
> + parse(c, pb, str_size, key);
> else {
> get_buffer(pb, str, str_size);
> str[str_size] = 0;
Is that used for something ? If no, rejected, if it will be, it will be
ok when it is actually used.
--
Baptiste COUDURIER
Key fingerprint 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
FFmpeg maintainer http://www.ffmpeg.org
More information about the ffmpeg-devel
mailing list