isomp4: fix trun data offset handling
authorMatthew Waters <matthew@centricular.com>
Fri, 15 Jan 2021 09:54:56 +0000 (20:54 +1100)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Mon, 23 Aug 2021 04:17:36 +0000 (04:17 +0000)
The trun offset was missing a calculation for one of the box type
headers.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/866

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1060>

gst/isomp4/gstqtmux.c

index 4fd6c62..01e5101 100644 (file)
@@ -4415,10 +4415,10 @@ flush:
       /* takes ownership */
       atom_moof_add_traf (moof, pad->traf);
       /* write the offset into the first 'trun'.  All other truns are assumed
-       * to follow on from this trun.  skip over the mdat header (+8) */
+       * to follow on from this trun.  Skip over the mdat header (+12) */
       atom_moof_copy_data (moof, &data, &size, &offset);
       first_trun = (AtomTRUN *) pad->traf->truns->data;
-      atom_trun_set_offset (first_trun, size + 8);
+      atom_trun_set_offset (first_trun, offset + 12);
       pad->traf = NULL;
       size = offset = 0;
       atom_moof_copy_data (moof, &data, &size, &offset);