This commit is contained in:
Romain Bouqueau
2020-07-01 14:38:36 +02:00
parent 47fb157566
commit a003e5d63e

View File

@@ -2454,6 +2454,29 @@ GF_Err cat_isomedia_file(GF_ISOFile *dest, char *fileName, u32 import_flags, Dou
gf_media_update_bitrate(dest, dst_tk);
}
for (i = 0; i < gf_isom_get_track_count(dest); ++i) {
if (gf_isom_get_media_type(dest, i + 1) == GF_ISOM_MEDIA_TMCD) {
u32 video_ref = 0, j;
for (j = 0; j < gf_isom_get_track_count(dest); ++j) {
switch (gf_isom_get_media_type(dest, j + 1)) {
case GF_ISOM_MEDIA_VISUAL:
case GF_ISOM_MEDIA_AUXV:
case GF_ISOM_MEDIA_PICT:
video_ref = j + 1;
break;
default: break;
}
if (video_ref)
break;
}
if (video_ref) {
u64 video_ref_dur = gf_isom_get_media_duration(dest, video_ref);
u32 last_sample_dur = gf_isom_get_sample_duration(dest, i + 1, gf_isom_get_sample_count(dest, i + 1));
u64 dur = video_ref_dur - gf_isom_get_media_duration(dest, i + 1) + last_sample_dur;
gf_isom_set_last_sample_duration(dest, i + 1, (u32)dur);
}
}
}
gf_set_progress("Appending", nb_samp, nb_samp);
/*check brands*/