Jump to content

oliver

Community Newbie
  • Posts

    2
  • Joined

  • Last visited

oliver's Achievements

Tiro

Tiro (1/14)

0

Reputation

  1. Yup, works fine here as well - thanks for the quick fix!
  2. Hi, when exiting pyrogenesis_dbg, nearly every time I get this error: ... TIMER| shutdown CNetLogManager: 4.8 us TIMER| shutdown I18N: 7.32 us OpenAL error: Invalid Operation; called from al_buf_free (#1) snd_mgr.cpp(127): Assertion failed: "0" udbg_bfd_init: loading symbols from ./pyrogenesis_dbg. Assertion failed: "0" Location: snd_mgr.cpp:127 (al_ReportError) Call stack: (0x0849b3f4) ldbg.cpp:99 debug_DumpStack(wchar_t*, unsigned int, void*, char const*) (0x0846fb30) debug.cpp:316 debug_BuildErrorMessage(wchar_t const*, char const*, int, char const*, void*, char const*, ErrorMessageMem*) (0x08470095) debug.cpp:437 debug_DisplayError(wchar_t const*, unsigned int, void*, char const*, char const*, int, char const*, unsigned char*) (0x08470175) debug.cpp:515 debug_OnAssertionFailure(char const*, unsigned char*, char const*, int, char const*) (0x0848b0ba) snd_mgr.cpp:127 al_ReportError (0x0848b0ec) snd_mgr.cpp:141 al_check (0x0848b400) snd_mgr.cpp:448 al_buf_free (0x0848b431) snd_mgr.cpp:778 SndData_dtor (0x0848078f) h_mgr.cpp:611 h_free_idx (0x08480a00) h_mgr.cpp:761 h_force_free(long long, H_VTbl*) (0x0848ac39) snd_mgr.cpp:934 hsd_list_free_all (0x0848b355) snd_mgr.cpp:647 al_shutdown (0x0848b378) snd_mgr.cpp:2025 snd_shutdown() (0x0827f667) GameSetup.cpp:830 Shutdown(int) (0x081db5d1) main.cpp:403 RunGameOrAtlas (0x081db651) main.cpp:416 main errno = 0 (?) OS error = ? (C)ontinue, (S)uppress, (B)reak, Launch (D)ebugger, or (E)xit? According to http://opensource.creative.com/pipermail/o...ber/008854.html the Invalid Operation error can happen if a buffer is deleted while being attached to a source. So calling alSourcei() in al_shutdown() for every source fixes the problem for me: Index: source/lib/res/sound/snd_mgr.cpp =================================================================== --- source/lib/res/sound/snd_mgr.cpp (Revision 7003) +++ source/lib/res/sound/snd_mgr.cpp (Arbeitskopie) @@ -625,6 +625,14 @@ return; // somewhat tricky: go through gyrations to free OpenAL resources. + + // first remove source<->buffer associations + for (size_t i = 0; i < al_src_allocated; i++) + { + ALuint source = al_srcs[i]; + debug_assert( alIsSource(source) ); + alSourcei(source, AL_BUFFER, NULL); + } // .. free all active sounds so that they release their source. // the SndData reference is also removed, Not sure if this is the correct fix, though. Also, sound in 0ad start screen is very crackling here anyway - might be a Pulseaudio problem. This is on Ubuntu Jaunty, 32 bit, with some onboard Nvidia sound chip.
×
×
  • Create New...