diff options
author | McCabe Maxsted | 2010-09-02 13:05:34 -0700 |
---|---|---|
committer | McCabe Maxsted | 2010-09-02 13:05:34 -0700 |
commit | 3fe17b6bbdbb6cdbe811e43f72394e2f6ba482cd (patch) | |
tree | 1ad67f00d043ffba9fa88be2e6ba52080b2a761b /linden/indra/llaudio | |
parent | fetch uptodate hunspell for linux* and boost1.39(incl linden-coroutine) for l... (diff) | |
download | meta-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.cpp | 3 | ||||
-rw-r--r-- | linden/indra/llaudio/audioengine_openal.cpp | 2 | ||||
-rw-r--r-- | linden/indra/llaudio/llaudiodecodemgr.cpp | 7 |
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 | ||