The previous allocation increment of 16384 meant that the cluster
array was allocated for 0.6 MB initially, which is a bit excessive
for cases with fragmentation where only a fraction of that ever
actually is used.
Therefore, start off at a much smaller value, and increase by
doubling (to avoid reallocating too often when writing long
non-fragmented mp4 files).
Bug-Id: 525
Signed-off-by: Martin Storsjö <martin@martin.st>
}
if (trk->entry >= trk->cluster_capacity) {
- unsigned new_capacity = trk->entry + MOV_INDEX_CLUSTER_SIZE;
+ unsigned new_capacity = 2*(trk->entry + MOV_INDEX_CLUSTER_SIZE);
if (av_reallocp_array(&trk->cluster, new_capacity,
sizeof(*trk->cluster)))
return AVERROR(ENOMEM);
#include "avformat.h"
-#define MOV_INDEX_CLUSTER_SIZE 16384
+#define MOV_INDEX_CLUSTER_SIZE 1024
#define MOV_TIMESCALE 1000
#define RTP_MAX_PACKET_SIZE 1450