diff options
author | Stijn Buys <ingar@osirion.org> | 2009-01-13 19:36:30 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2009-01-13 19:36:30 +0000 |
commit | 03f502cf04cdd37485a31f4072c99764bcd78f0c (patch) | |
tree | 940fd0f50cb00b990a4023d27b5721ebf7e88101 /src/audio/sources.cc | |
parent | 5992c46fc62db1bdf038b5b7be0e94dd10183e77 (diff) |
rewind OpenAL sources before clearing them
Diffstat (limited to 'src/audio/sources.cc')
-rw-r--r-- | src/audio/sources.cc | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/src/audio/sources.cc b/src/audio/sources.cc index 01fbafb..2ec0e26 100644 --- a/src/audio/sources.cc +++ b/src/audio/sources.cc @@ -40,6 +40,11 @@ void Sources::init() void Sources::shutdown() { + // stop all sources + for (size_t index= 0; index < MAXSOURCES; index++) { + alSourceRewind(sources[index]); + } + alDeleteSources(MAXSOURCES, sources); clear(); } @@ -52,20 +57,6 @@ void Sources::clear() for (size_t i=0; i < MAXSOURCES; i++) { source_available[i] = false; } - -} - -void Sources::reset() -{ - for (size_t index= 0; index < MAXSOURCES; index++) { - source_available[index] = true; - alSourceRewind(sources[index]); - } - - // reserve ui sound sources - for (size_t i=0; i < MAXUISOURCES; i++) { - source_available[i] = false; - } } size_t Sources::get() |