qt-faststart - stco offset bug fix
authorerankor <eran.kornblau@kaltura.com>
Fri, 1 Jun 2018 06:55:45 +0000 (09:55 +0300)
committerMichael Niedermayer <michael@niedermayer.cc>
Wed, 13 Jun 2018 19:55:19 +0000 (21:55 +0200)
commitdc16c9dd90593ffc3642d4a531b73ae6ea836a97
tree19cf4389afc144acfb336ab2fe38c93be43186ec
parentee09ffbfd2f744e796d6289523f396d830c025a3
qt-faststart - stco offset bug fix

when the last offsets in the stco atom are close to 4GB, the addition of
the moov atom size can overflow, causing corruption near the end of the
mp4 file.
this patch upgrades all stco atoms to co64 when such an edge case is
detected. in order to accomplish this, the implementation was changed to
walk the atom tree, instead of searching for the strings 'stco'/'co64'.
this was required since when an stco atom is changed to co64, its size
changes, and the sizes of all containing atoms (moov, trak, etc.) have
to be updated as well.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
tools/qt-faststart.c