http://bugs.winehq.org/show_bug.cgi?id=14578
--- Comment #3 from Alexander Dorofeyev alexd4@inbox.lv 2008-07-20 11:52:24 --- Continuing analysis of Thief videos in a working Wine build (current git + 28d6203ca9bd0ba17ce38e309f340b518f954c08 reverted and zero byte samples patch NOT applied). I'm looking further into differences that "fix handling of zero byte samples" patch introduces. I've added debug output in AVISplitter_next_request, that is supposed to call AVISplitter_SendEndOfFile, and it shows that
1) thief avis only seem to enter the "else if (This->oldindex) { } " path 2) stream->index always seems to be 0
Furthermore, I don't see any obvious way how stream->index can become anything but 0 for such a video.
This may explain why end of file is never detected in Thief videos with "fix handling of zero byte samples" as it replaces the end of file detecting conditional
- if (stream->pos_next * sizeof(This->oldindex->aIndex[0]) >= This->oldindex->cb) + if (stream->index)
to one that will never be true.