Commit d28c40da authored by Bruno Jesus's avatar Bruno Jesus Committed by Alexandre Julliard

avifil32: Remove the 1024 frame limit when recording AVI files.

parent 89837cb0
......@@ -1424,11 +1424,21 @@ static HRESULT AVIFILE_AddRecord(IAVIFileImpl *This)
/* pre-conditions */
assert(This != NULL && This->ppStreams[0] != NULL);
if (This->idxRecords == NULL || This->cbIdxRecords == 0) {
This->cbIdxRecords += 1024 * sizeof(AVIINDEXENTRY);
This->idxRecords = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, This->cbIdxRecords);
if (This->idxRecords == NULL)
if (This->idxRecords == NULL || This->cbIdxRecords / sizeof(AVIINDEXENTRY) <= This->nIdxRecords) {
DWORD new_count = This->cbIdxRecords + 1024 * sizeof(AVIINDEXENTRY);
void *mem;
if (!This->idxRecords)
mem = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, new_count);
else
mem = HeapReAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, This->idxRecords, new_count);
if (mem) {
This->cbIdxRecords = new_count;
This->idxRecords = mem;
} else {
HeapFree(GetProcessHeap(), 0, This->idxRecords);
This->idxRecords = NULL;
return AVIERR_MEMORY;
}
}
assert(This->nIdxRecords < This->cbIdxRecords/sizeof(AVIINDEXENTRY));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment