aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/llaudio
diff options
context:
space:
mode:
authorMcCabe Maxsted2010-09-02 13:05:34 -0700
committerMcCabe Maxsted2010-09-02 13:05:34 -0700
commit3fe17b6bbdbb6cdbe811e43f72394e2f6ba482cd (patch)
tree1ad67f00d043ffba9fa88be2e6ba52080b2a761b /linden/indra/llaudio
parentfetch uptodate hunspell for linux* and boost1.39(incl linden-coroutine) for l... (diff)
downloadmeta-impy-3fe17b6bbdbb6cdbe811e43f72394e2f6ba482cd.zip
meta-impy-3fe17b6bbdbb6cdbe811e43f72394e2f6ba482cd.tar.gz
meta-impy-3fe17b6bbdbb6cdbe811e43f72394e2f6ba482cd.tar.bz2
meta-impy-3fe17b6bbdbb6cdbe811e43f72394e2f6ba482cd.tar.xz
Applied patch by Damian Delacrois for VWR-10592: sounds not working when running multiple instances
Diffstat (limited to 'linden/indra/llaudio')
-rw-r--r--linden/indra/llaudio/audioengine.cpp3
-rw-r--r--linden/indra/llaudio/audioengine_openal.cpp2
-rw-r--r--linden/indra/llaudio/llaudiodecodemgr.cpp7
3 files changed, 9 insertions, 3 deletions
diff --git a/linden/indra/llaudio/audioengine.cpp b/linden/indra/llaudio/audioengine.cpp
index 7cec920..728f054 100644
--- a/linden/indra/llaudio/audioengine.cpp
+++ b/linden/indra/llaudio/audioengine.cpp
@@ -1892,6 +1892,9 @@ bool LLAudioData::load()
1892 gAudiop->cleanupBuffer(mBufferp); 1892 gAudiop->cleanupBuffer(mBufferp);
1893 mBufferp = NULL; 1893 mBufferp = NULL;
1894 1894
1895 // Maybe it was removed by another instance. Send it to the preload queue.
1896 gAudiop->preloadSound(mID);
1897
1895 return false; 1898 return false;
1896 } 1899 }
1897 mBufferp->mAudioDatap = this; 1900 mBufferp->mAudioDatap = this;
diff --git a/linden/indra/llaudio/audioengine_openal.cpp b/linden/indra/llaudio/audioengine_openal.cpp
index b4eed57..84305f0 100644
--- a/linden/indra/llaudio/audioengine_openal.cpp
+++ b/linden/indra/llaudio/audioengine_openal.cpp
@@ -109,7 +109,7 @@ bool LLAudioEngine_OpenAL::init(const S32 num_channels, void* userdata)
109 ALCdevice *device = alcGetContextsDevice(alcGetCurrentContext()); 109 ALCdevice *device = alcGetContextsDevice(alcGetCurrentContext());
110 110
111 alcGetIntegerv(device, ALC_MAJOR_VERSION, 1, &major); 111 alcGetIntegerv(device, ALC_MAJOR_VERSION, 1, &major);
112 alcGetIntegerv(device, ALC_MAJOR_VERSION, 1, &minor); 112 alcGetIntegerv(device, ALC_MINOR_VERSION, 1, &minor);
113 llinfos << "ALC version: " << major << "." << minor << llendl; 113 llinfos << "ALC version: " << major << "." << minor << llendl;
114 114
115 llinfos << "ALC default device: " 115 llinfos << "ALC default device: "
diff --git a/linden/indra/llaudio/llaudiodecodemgr.cpp b/linden/indra/llaudio/llaudiodecodemgr.cpp
index 399adf5..afb3c33 100644
--- a/linden/indra/llaudio/llaudiodecodemgr.cpp
+++ b/linden/indra/llaudio/llaudiodecodemgr.cpp
@@ -631,8 +631,11 @@ BOOL LLAudioDecodeMgr::addDecodeRequest(const LLUUID &uuid)
631 631
632 if (gAssetStorage->hasLocalAsset(uuid, LLAssetType::AT_SOUND)) 632 if (gAssetStorage->hasLocalAsset(uuid, LLAssetType::AT_SOUND))
633 { 633 {
634 // Just put it on the decode queue. 634 // Just put it on the decode queue if it's not already.
635 mImpl->mDecodeQueue.push(uuid); 635 if (!mImpl->mDecodeQueue.checkData(uuid))
636 {
637 mImpl->mDecodeQueue.push(uuid);
638 }
636 return TRUE; 639 return TRUE;
637 } 640 }
638 641