movenc: Add an option for skipping writing the mfra/tfra/mfro trailer
authorMartin Storsjö <martin@martin.st>
Mon, 13 Jun 2016 20:47:15 +0000 (23:47 +0300)
committerMartin Storsjö <martin@martin.st>
Fri, 8 Jul 2016 11:11:15 +0000 (14:11 +0300)
commit4f7723cb3b913c577842a5bb088c804ddacac8df
treede193a92a961c0aa1af302c1cc3dbdf3eeb84eee
parentf8d17d53957056c053a46f9320fa7ae6fe1479a5
movenc: Add an option for skipping writing the mfra/tfra/mfro trailer

When writing a fragmented file, we by default write an index pointing
to all the fragments at the end of the file. This causes constantly
increasing memory usage during the muxing. For live streams, the
index might not be useful at all.

A similar fragment index is written (but at the start of the file) if
the global_sidx flag is set. If ism_lookahead is set, we need to keep
data about the last ism_lookahead+1 fragments.

If no fragment index is to be written, we don't need to store information
about all fragments, avoiding increasing the memory consumption
linearly with the muxing runtime.

This fixes out of memory situations with long live mp4 streams.

Signed-off-by: Martin Storsjö <martin@martin.st>
libavformat/movenc.c
libavformat/movenc.h