Commit 4e70104a authored by Marek Fort's avatar Marek Fort Committed by Michael Niedermayer

avformat/movenc: XMP metadata support.

Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent 054c506e
......@@ -2395,6 +2395,26 @@ static int mov_write_meta_tag(AVIOContext *pb, MOVMuxContext *mov,
return size;
}
static int mov_write_raw_metadata_tag(AVFormatContext *s, AVIOContext *pb,
const char *name, const char *key)
{
int len;
AVDictionaryEntry *t;
if (!(t = av_dict_get(s->metadata, key, NULL, 0)))
return 0;
len = strlen(t->value);
if (len > 0) {
int size = len + 8;
avio_wb32(pb, size);
ffio_wfourcc(pb, name);
avio_write(pb, t->value, len);
return size;
}
return 0;
}
static int ascii_to_wc(AVIOContext *pb, const uint8_t *b)
{
int val;
......@@ -2494,6 +2514,7 @@ static int mov_write_udta_tag(AVIOContext *pb, MOVMuxContext *mov,
mov_write_string_metadata(s, pb_buf, "\251cmt", "comment", 0);
mov_write_string_metadata(s, pb_buf, "\251gen", "genre", 0);
mov_write_string_metadata(s, pb_buf, "\251cpy", "copyright", 0);
mov_write_raw_metadata_tag(s, pb_buf, "XMP_", "xmp");
} else {
/* iTunes meta data */
mov_write_meta_tag(pb_buf, mov, s);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment