Avoid indefinite wait when calling GetOverlappedResult.
This shouldn't happen. GetOverlappedResult should do a wait on the event object, just like the wait above that succeeds (and GetOverlappedResult is called) or times out (and GetOverlappedResult is not called). I suspect that the bug is elsewhere, perhaps an event should be created for each request and then WaitForMultipleObjects used.
BTW, I meant infinite wait...
Well, some lines above the GetOverlappedResult, there is a WaitForSingleObject on the event and since the event is resetted automatically there (the event is not manual) GetOverlappedResult will wait forever. There is no bug elsewhere its a rather simple win32 related problem. Anyway, we may make use of a manual event for real asynchronous requests. The avi splitter don't do that at the moment so the current implementation is enough.
Thanks for the comments. :-) Christian