quartz: Start DirectSound renderer as soon as possible.

Erich Hoover ehoover at mines.edu
Sun Nov 28 11:06:55 CST 2010

On Sun, Nov 28, 2010 at 8:28 AM, Maarten Lankhorst
<m.b.lankhorst at gmail.com> wrote:
> ...
> There are other ways to handle this. What you're doing is wrong. I'm
> guessing the assert(!pSample); is wrong, if it's flushing it ought to
> return all samples held. If it has a sample and returned VFW_E_TIMEOUT
> I guess it has to break. The preferred allocator would have to be a
> separate patch.

If you'd prefer I can attach these separately, but I really consider
this to be three separate patches (applied in this order):
1) Freeing all pending samples when terminating
2) Only asserting when VFW_E_TIMEOUT actually times out
3) Passing a preferred allocator

Patch 3 is the "main problem" for F3 and the first two are issues with
paused/stopped filters.  Without Patch 1 then Patch 3 always causes
Fallout 3 to crash when exiting the main menu, and it will sometimes
(very rarely) crash when exiting the menu without Patch 2.  It sounds
to me like you're taking issue with Patch 2 (the VFW_E_TIMEOUT
portion), and I can look into better ways to do this part.  The big
thing that I was hoping you could help me with is that, with commit
64b14c0ecdd13530a92ff636c451523a99253a0b applied, once you exit the
main menu then absolutely all the audio stops working - but only when
both your commit and my patches are applied.  It's not obvious to me
how these patches could interact with your commit in this way, and
nothing obvious stands out in the log, so I was hoping you could point
me in the right direction for where to start figuring this out.
Thanks so much for taking the time to look at this.

Erich Hoover
ehoover at mines.edu

More information about the wine-devel mailing list