diff options
| author | Brad Linden <brad@lindenlab.com> | 2024-08-09 17:57:23 -0700 |
|---|---|---|
| committer | Brad Linden <brad@lindenlab.com> | 2024-08-09 17:57:23 -0700 |
| commit | a7fde9d79c517bfc6165756c1bc3eb16fa4d935c (patch) | |
| tree | f0608f7f72f23a447778f8bce6f210eb221ebdf1 /indra/llaudio | |
| parent | ac330f63fd7ac655bbd06ce5d4ed65430aa2f42a (diff) | |
| parent | c106221726c48a4231b7854bff224ae422c0517f (diff) | |
Merge remote-tracking branch release/2024.06-atlasaurus into 'develop'
Diffstat (limited to 'indra/llaudio')
| -rwxr-xr-x | indra/llaudio/llaudiodecodemgr.cpp | 7 | ||||
| -rw-r--r-- | indra/llaudio/llaudioengine.cpp | 12 |
2 files changed, 16 insertions, 3 deletions
diff --git a/indra/llaudio/llaudiodecodemgr.cpp b/indra/llaudio/llaudiodecodemgr.cpp index a46f9acc63..d8a6fffea6 100755 --- a/indra/llaudio/llaudiodecodemgr.cpp +++ b/indra/llaudio/llaudiodecodemgr.cpp @@ -790,9 +790,12 @@ bool LLAudioDecodeMgr::addDecodeRequest(const LLUUID &uuid) if (gAssetStorage->hasLocalAsset(uuid, LLAssetType::AT_SOUND)) { - // Just put it on the decode queue. + // Just put it on the decode queue it if it's not already in the queue LL_DEBUGS("AudioEngine") << "addDecodeRequest for " << uuid << " has local asset file already" << LL_ENDL; - mImpl->mDecodeQueue.push_back(uuid); + if (std::find(mImpl->mDecodeQueue.begin(), mImpl->mDecodeQueue.end(), uuid) == mImpl->mDecodeQueue.end()) + { + mImpl->mDecodeQueue.emplace_back(uuid); + } return true; } diff --git a/indra/llaudio/llaudioengine.cpp b/indra/llaudio/llaudioengine.cpp index 3697422ac8..613c408157 100644 --- a/indra/llaudio/llaudioengine.cpp +++ b/indra/llaudio/llaudioengine.cpp @@ -1827,7 +1827,17 @@ bool LLAudioData::load() { // Hrm. Right now, let's unset the buffer, since it's empty. gAudiop->cleanupBuffer(mBufferp); - mBufferp = NULL; + mBufferp = nullptr; + + if (!gDirUtilp->fileExists(wav_path)) + { + mHasLocalData = false; + mHasDecodedData = false; + mHasCompletedDecode = false; + mHasDecodeFailed = false; + mHasWAVLoadFailed = false; + gAudiop->preloadSound(mID); + } return false; } |
