http://bugs.winehq.org/show_bug.cgi?id=31504
Andrew Smart svor1988@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |svor1988@gmail.com
--- Comment #4 from Andrew Smart svor1988@gmail.com --- Confirmed with wine-1.7.15 I observed the same basic error log as Christopher May, specifically: fixme:quartz:parse_header Not a valid header: 00:00:00:00 GalCiv.exe: mpegsplit.c:691: MPEGSplitter_first_request: Assertion `hr == ((HRESULT)0)' failed.
However I don't see a relationship to crashing after a video plays as the bug title claims.
My impression is that an MPEG deployed with the game (the main repeating music) isn't perfect. So using winetricks I tried the native quartz dll, with great success (the ~90 second long main game music loops for ever and ever)! Though something still complains about zeroed out MPEG headers: "Warning: Big change (MPEG version, layer, rate). Frankenstein stream? Note: Illegal Audio-MPEG-Header 0x00000000 at offset 290064." http://pastebin.com/Riq79JVB
I also decided to try commenting out the relevant assertion in wine's quartz (MPEGSplitter_first_request function in ./dlls/quartz/mpegsplit.c:691) which led to different results than native quartz. The main music played great for about a minute, then got intermittently choppy, then stopped altogether (other game sounds work great I might add, adding credence to my hypothesis that the main game music occasionally has a bad header or is otherwise imperfect). No crash since the assertion was disabled, and the normal error handling took over. Here is a snipped of the output: "fixme:quartz:parse_header Not a valid header: 00:00:00:00" http://pastebin.com/fqa8qd8c (I think the fixme:quartz:parse_headers were frequently printed while the song was intermittently playing, then the later messages printed every minute or so after the song stopped altogether).
So if anyone wants to work on replicating the native quartz's error handling into wine's quartz this might be a good use case! Or just get rid of that assertion? (Game will work without the assertion but the main song will die agonizingly, which can be considered a blessing due to it's repetitiveness)