lavf/movenc: Write total number of tracks as part of metadata.
Fixes ticket #2157.
This commit is contained in:
parent
9408d990c4
commit
bb7f71d9b6
@ -2022,6 +2022,10 @@ static int mov_write_trkn_tag(AVIOContext *pb, MOVMuxContext *mov,
|
|||||||
AVDictionaryEntry *t = av_dict_get(s->metadata, "track", NULL, 0);
|
AVDictionaryEntry *t = av_dict_get(s->metadata, "track", NULL, 0);
|
||||||
int size = 0, track = t ? atoi(t->value) : 0;
|
int size = 0, track = t ? atoi(t->value) : 0;
|
||||||
if (track) {
|
if (track) {
|
||||||
|
int tracks = 0;
|
||||||
|
char *slash = strchr(t->value, '/');
|
||||||
|
if (slash)
|
||||||
|
tracks = atoi(slash + 1);
|
||||||
avio_wb32(pb, 32); /* size */
|
avio_wb32(pb, 32); /* size */
|
||||||
ffio_wfourcc(pb, "trkn");
|
ffio_wfourcc(pb, "trkn");
|
||||||
avio_wb32(pb, 24); /* size */
|
avio_wb32(pb, 24); /* size */
|
||||||
@ -2030,7 +2034,7 @@ static int mov_write_trkn_tag(AVIOContext *pb, MOVMuxContext *mov,
|
|||||||
avio_wb32(pb, 0);
|
avio_wb32(pb, 0);
|
||||||
avio_wb16(pb, 0); // empty
|
avio_wb16(pb, 0); // empty
|
||||||
avio_wb16(pb, track); // track number
|
avio_wb16(pb, track); // track number
|
||||||
avio_wb16(pb, 0); // total track number
|
avio_wb16(pb, tracks); // total track number
|
||||||
avio_wb16(pb, 0); // empty
|
avio_wb16(pb, 0); // empty
|
||||||
size = 32;
|
size = 32;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user