[Bug 14578] New: Thief, System Shock 2 - video intros hang/crash in the end

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Jul 20 10:24:53 CDT 2008


http://bugs.winehq.org/show_bug.cgi?id=14578

           Summary: Thief, System Shock 2 - video intros hang/crash in the
                    end
           Product: Wine
           Version: CVS/GIT
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: minor
          Priority: P2
         Component: quartz
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: alexd4 at inbox.lv
                CC: m.b.lankhorst at gmail.com


After recent fixes, videos now start playing in Wine with builtin quartz.dll.
But some new problems now appeared.

There was a regression - some crashes because of "quartz: Fix reference leak in
avi splitter on end of stream." (28d6203ca9bd0ba17ce38e309f340b518f954c08)
patch. So far it appears to have been fixed by recently submitted "quartz: Fix
handling of zero byte samples and endofstreams".

The latter patch, although fixing the crash, seems to introduce hangs of intro
videos in Thief (i.e. it works before "fix reference leak", it crashes after
"fix reference leak" and it doesn't crash but hangs after also applying "fix
handling of zero byte samples". Very likely it simply exposes a previously
hidden underlying problem. Because, for example, system shock 2 (also a Looking
Glass game with similar engine) has some videos for which I can't find a
working Wine version, probably they always had this hang problem. I've analyzed
+quartz logs for differences, and it looks to me that the critical difference
is lack of AVISplitter_SendEndOfFile on the video (0) stream in NON-working
cases, which possibly makes game unaware that video ended. Non-working cases
have either "END OF STREAM" detected on stream 1 only or not at all.

+quartz log of Thief session in Wine build that works fine has:
err:quartz:AVISplitter_next_request END OF STREAM ON 1
trace:quartz:AVISplitter_SendEndOfFile End of file reached
[...]
err:quartz:AVISplitter_next_request END OF STREAM ON 0
trace:quartz:AVISplitter_SendEndOfFile End of file reached

+quartz log of Thief session in Wine build that hangs has no SendEndOfFile at
all.

+quartz log of System Shock 2 in Wine build that works for Thief (but SS2 still
hangs) has
err:quartz:AVISplitter_next_request END OF STREAM ON 1
trace:quartz:AVISplitter_SendEndOfFile End of file reached

System Shock 2 with 28d6203ca9bd0ba17ce38e309f340b518f954c08 and "fix zero size
samples" patch - can't compare because it now crashes (assert failed) :/

filesource.c:1250: FileAsyncReader_WaitForNext: Assertion `rtStop ==
rtSampleStop' failed.

This pattern shows when watching videos outside the game in the graphedit tool
as well.


-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list