Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2009-01-13 19:36:30 +0000
committerStijn Buys <ingar@osirion.org>2009-01-13 19:36:30 +0000
commit03f502cf04cdd37485a31f4072c99764bcd78f0c (patch)
tree940fd0f50cb00b990a4023d27b5721ebf7e88101 /src/audio/sources.cc
parent5992c46fc62db1bdf038b5b7be0e94dd10183e77 (diff)
rewind OpenAL sources before clearing them
Diffstat (limited to 'src/audio/sources.cc')
-rw-r--r--src/audio/sources.cc19
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()