Dan Kegel wrote:
Julius wrote:
With one file however (GOODTIME.AVI from the win95 cd) I get this error after about a second: err:heap:HEAP_ValidateInUseArena Heap 0x110000: in-use arena 0x184420 next block has PREV_FREE flag non enough memory
I have no idea where this comes from and why it happens. (It appears to be unrelated to the memcpy call in avifile.c around line 1114.) With +heap I also get this before the error: HIGHPERF/GOODTIME.AVI: heap.c:403: HEAP_GetPtr: Controletest '0' faalt. (the assert fails)
Sounds like heap corruption. You might want to cut down the file to the shortest one that causes the crash, then go after it (possibly using valgrind or the like) to look for the error.
With valgrind I was able to find the problem actually happens when AVIFILE_ReadBlock is called and a new block is about to be read. There doesn't seem to be anything special about this however, as for the previous blocks (and different files) it works just fine.
Does your implementation of avifil32 and friends work properly on windows?
It appears this is not trivial to test. I had to include Wine's advapi32.dll in addition to avifil32.dll and then I got an error about a missing Wine symbol in ntdll.dll. I understand this means I cannot trivially use this Wine dll on Windows.
Thanks, Julius