mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-25 00:32:31 +00:00
movenc: support for itunes tempo tag
Implements support for tmpo atom for mp4 files, typically used to store BPM. -metadata "tmpo=127" as a command line option will record 127 as the BPM in the meta data. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
237f53ce85
commit
be862c0dac
@ -1913,6 +1913,24 @@ static int mov_write_string_metadata(AVFormatContext *s, AVIOContext *pb,
|
||||
return mov_write_string_tag(pb, name, t->value, lang, long_style);
|
||||
}
|
||||
|
||||
/* iTunes bpm number */
|
||||
static int mov_write_tmpo_tag(AVIOContext *pb, AVFormatContext *s)
|
||||
{
|
||||
AVDictionaryEntry *t = av_dict_get(s->metadata, "tmpo", NULL, 0);
|
||||
int size = 0, tmpo = t ? atoi(t->value) : 0;
|
||||
if (tmpo) {
|
||||
size = 26;
|
||||
avio_wb32(pb, size);
|
||||
ffio_wfourcc(pb, "tmpo");
|
||||
avio_wb32(pb, size-8); /* size */
|
||||
ffio_wfourcc(pb, "data");
|
||||
avio_wb32(pb, 0x15); //type specifier
|
||||
avio_wb32(pb, 0);
|
||||
avio_wb16(pb, tmpo); // data
|
||||
}
|
||||
return size;
|
||||
}
|
||||
|
||||
/* iTunes track number */
|
||||
static int mov_write_trkn_tag(AVIOContext *pb, MOVMuxContext *mov,
|
||||
AVFormatContext *s)
|
||||
@ -1960,6 +1978,7 @@ static int mov_write_ilst_tag(AVIOContext *pb, MOVMuxContext *mov,
|
||||
mov_write_string_metadata(s, pb, "tven", "episode_id",1);
|
||||
mov_write_string_metadata(s, pb, "tvnn", "network" , 1);
|
||||
mov_write_trkn_tag(pb, mov, s);
|
||||
mov_write_tmpo_tag(pb, s);
|
||||
return update_size(pb, pos);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user