diff options
Diffstat (limited to 'libmpdemux/demux_real.c')
-rw-r--r-- | libmpdemux/demux_real.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libmpdemux/demux_real.c b/libmpdemux/demux_real.c index 55e4edbf0f..f124077f31 100644 --- a/libmpdemux/demux_real.c +++ b/libmpdemux/demux_real.c @@ -245,6 +245,11 @@ static void add_index_item(demuxer_t *demuxer, int stream_id, int timestamp, int priv->index_malloc_size[stream_id] = 2048; else priv->index_malloc_size[stream_id] += priv->index_malloc_size[stream_id] / 2; + // in case we have a really large chunk... + if (priv->index_table_size[stream_id] >= + priv->index_malloc_size[stream_id]) + priv->index_malloc_size[stream_id] = + priv->index_table_size[stream_id] + 1; priv->index_table[stream_id] = realloc(priv->index_table[stream_id], priv->index_malloc_size[stream_id]*sizeof(priv->index_table[0][0])); } if (priv->index_table_size[stream_id] > 0) |