Commit bb7f71d9 authored by Carl Eugen Hoyos's avatar Carl Eugen Hoyos

lavf/movenc: Write total number of tracks as part of metadata.

Fixes ticket #2157.
parent 9408d990
...@@ -2022,6 +2022,10 @@ static int mov_write_trkn_tag(AVIOContext *pb, MOVMuxContext *mov, ...@@ -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, ...@@ -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;
} }
......
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