Hi Erich,
2010/11/21 Erich Hoover ehoover@mines.edu:
I've been working on a set of patches (compiled together and attached for your convenience) to fix the background music in Fallout 3 (Bug #24478) and I've run into some trouble recently with commit 64b14c0ecdd13530a92ff636c451523a99253a0b. Before that commit (or removing that commit in current git) and applying the patches allows the music to function in both the main menu, properly stop when the menu is closed, and later play again when the user is in the game. With said commit applied these patches still permit the background music to work when at the main menu; however, the moment the "stop" occurs on exiting the menu then all audio in the entire game ceases to function. I would really appreciate any feedback you can provide or pointers on where to look for the source of this problem. Thanks in advance!
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.
Cheers, Maarten