No Sound Freeze on Exit

You are viewing a static copy of the old 2DBoy forum, which closed in 2010. It is preserved here for historical interest, but it is not possible to reply to topics. For more recent discussion about World of Goo, visit our new forum.
No Sound Freeze on Exitunfair05/09/2010 - 18:09

I am using the .deb from the humble bundle on Ubuntu 9.04 (Jaunty)

I saw that this thread
http://2dboy.com/forum/index.php/topic,2338.msg15508.html#msg15508
mentioned a sound issue, which I've noticed.  The sound itself isn't a big issue, it sometimes works and sometimes doesn't depending on whether another app is using the sound when Goo starts.  However, even though I can play fine without the sound Goo will refuse to exit when I click the button if the sound was not initialized properly. 

I would prefer if the sound just failed silently and let me exit properly instead of having to kill the process. (particularly annoying if you have the game full screen and can't exit)

Re: No Sound Freeze on ExitSoultaker05/09/2010 - 20:22

Can you post the contents of the log file (at $HOME/.WorldOfGoo/WorldOfGoo.log) when the game hangs? Maybe something goes wrong with sound driver auto-detection if another application opened the sound device exclusively. The easiest way to fix that would be to fix the sound system to be used (by changing the value for SDL_AUDIODRIVER in the config file at /opt/WorldOfGoo/properties/config.txt). ALSA always worked flawlessly for me, BYMMV.

Re: No Sound Freeze on Exitunfair05/10/2010 - 15:50

Here is a session I opened then closed just to get the log - this session froze on exit, had to kill it. 

As I mentioned before, I'm not really concerned whether the sound works or not, I just don't think the sound failing should cause the game to hang on exit. (Preferably the sound code should just fail silently and let the program exit as normal..)

<br />[t=0.00] Loading persistent data...<br />[t=0.00] Locale en_US.UTF-8 matched to language en.<br />[t=0.00] Primary language: en<br />[t=0.00] Created 800x600 (32 bpp) graphics surface.<br />[t=0.00] Created virtual viewport of size 800(+0)x600(+0)<br />[t=0.00] Using audio driver: pulse<br />[t=0.00] resized from 800x600 to 800x600<br />[t=0.00] loading game (version 1.41linux)...<br />[t=0.15] could not load image "res/images/flags/xx"<br />[t=0.75] Game paused...<br />[t=0.75] FileOpen("res/levels/MapWorldView/newmail.anim.binltl", 17, 0xb3db8f44) failed!<br />[t=0.75] FileOpen("res/levels/MapWorldView/MapWorldView/rot_1rps.anim.binltl", 17, 0xb3db8f44) failed!<br />[t=0.75] Game resumed after 0.324 seconds<br />[t=3.72] loading game complete.<br />[t=3.72] FileOpen("res/levels/IslandUi/newmail.anim.binltl", 17, 0xbfe29104) failed!<br />[t=3.74] STATE TRANSITION: INIT --> WORLD (after 4 sec)<br />[t=5.00] fps=49.8 ups=50.0<br />[t=5.65] Changing display to windowed mode...<br />[t=7.16] WARNING: skipping 61 simulation frames!<br />[t=10.00] fps=34.6 ups=37.8<br />[t=15.00] fps=46.0 ups=50.0<br />[t=15.78] TotalRunningTime = 19 seconds<br />[t=15.78] Saving persistent data...<br />[t=15.78] ----- destroying scene factory: -----<br />[t=15.78] -------------------------------------<br />[t=15.78] ----- destroying movie factory: -----<br />[t=15.78]        releasing movie 'MomTextSwap_swap' refcount=1<br />[t=15.78]        releasing movie '2dboyLogo' refcount=1<br />[t=15.78]        releasing movie 'eol_1_in' refcount=1<br />[t=15.78]        releasing movie 'eol_2.5_statsin' refcount=1<br />[t=15.78]        releasing movie 'eol_3_handleup' refcount=1<br />[t=15.78]        releasing movie 'eol_4_waitclick' refcount=1<br />[t=15.78]        releasing movie 'eol_5_handlepull' refcount=1<br />[t=15.78]        releasing movie 'eol_6_travel' refcount=1<br />[t=15.78]        releasing movie 'eol_7_islandin' refcount=1<br />[t=15.78]        releasing movie 'MomTextSwap_displayloop' refcount=1<br />[t=15.78]        releasing movie 'gooTransition_in' refcount=1<br />[t=15.78]        releasing movie 'signpostDlg_out' refcount=1<br />[t=15.78]        releasing movie 'signpostDlgIsh_in' refcount=1<br />[t=15.78]        releasing movie 'signpostDlgIsh_loop' refcount=1<br />[t=15.78]        releasing movie 'signpostDlgIsh_flipin' refcount=1<br />[t=15.78]        releasing movie 'signpostDlgIsh_flipout' refcount=1<br />[t=15.78]        releasing movie 'signpostDlgIsh_out' refcount=1<br />[t=15.78]        releasing movie 'eol_2_fillwait' refcount=1<br />[t=15.78]        releasing movie 'signpostDlg_flipin' refcount=1<br />[t=15.78]        releasing movie 'signpostDlg_flipout' refcount=1<br />[t=15.78]        releasing movie 'levelinfotransition_in' refcount=1<br />[t=15.78]        releasing movie 'levelinfotransition_out' refcount=1<br />[t=15.78]        releasing movie 'levelFadeOut' refcount=1<br />[t=15.78]        releasing movie 'signpostDlg_loop' refcount=1<br />[t=15.78]        releasing movie 'signpostDlg_in' refcount=1<br />[t=15.78]        releasing movie 'levelinfotransition_main' refcount=1<br />[t=15.78]        releasing movie 'gooTransition_out' refcount=1<br />[t=15.78]        releasing movie 'gooTransition_loop' refcount=1<br />[t=15.78] -------------------------------------<br />[t=15.78] InhibitGnomeScreensaver destructor: killing child process 29239...

Re: No Sound Freeze on ExitSoultaker05/11/2010 - 17:17

Apparently in that case the PulseAudio driver is being used. When the game runs succesfully, is the same driver used? If not, which one is?

If only the pulse driver is buggy (and another one works) then I suggest manually forcing the driver to the right value the way I described before.