mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-01-15 11:51:33 +00:00
avformat/movenc: XMP metadata support.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
054c506e3d
commit
4e70104aba
@ -2395,6 +2395,26 @@ static int mov_write_meta_tag(AVIOContext *pb, MOVMuxContext *mov,
|
|||||||
return size;
|
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)
|
static int ascii_to_wc(AVIOContext *pb, const uint8_t *b)
|
||||||
{
|
{
|
||||||
int val;
|
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, "\251cmt", "comment", 0);
|
||||||
mov_write_string_metadata(s, pb_buf, "\251gen", "genre", 0);
|
mov_write_string_metadata(s, pb_buf, "\251gen", "genre", 0);
|
||||||
mov_write_string_metadata(s, pb_buf, "\251cpy", "copyright", 0);
|
mov_write_string_metadata(s, pb_buf, "\251cpy", "copyright", 0);
|
||||||
|
mov_write_raw_metadata_tag(s, pb_buf, "XMP_", "xmp");
|
||||||
} else {
|
} else {
|
||||||
/* iTunes meta data */
|
/* iTunes meta data */
|
||||||
mov_write_meta_tag(pb_buf, mov, s);
|
mov_write_meta_tag(pb_buf, mov, s);
|
||||||
|
Loading…
Reference in New Issue
Block a user