Audio engine changes:

-Idle tick is now responsible for dispatching all pending sound sources, as such improves priority sorting.
-Added ui sound precache mechanisms (to fetch sounds without associated soundsources)
-Audio engine no logner available pre-login or upon disconnect, for simplicity.
-General cleanup to the audio engine/impl.
-Fixed some gAudiop calls that were lacking prerequisite null checks.
-Added 'isUpstreamOK' procuedure to LLAssetStorage to allow avoidance of making requests when there is no upstream host connection.
This commit is contained in:
Shyotl
2013-10-12 02:49:11 -05:00
parent 3132d2b0d0
commit 7fb05e6a48
18 changed files with 526 additions and 720 deletions

View File

@@ -5228,8 +5228,6 @@ void process_preload_sound(LLMessageSystem *msg, void **user_data)
LLAudioSource *sourcep = objectp->getAudioSource(owner_id);
if (!sourcep) return;
LLAudioData *datap = gAudiop->getAudioData(sound_id);
// Note that I don't actually do any loading of the
// audio data into a buffer at this point, as it won't actually
// help us out.
@@ -5238,8 +5236,8 @@ void process_preload_sound(LLMessageSystem *msg, void **user_data)
LLVector3d pos_global = objectp->getPositionGlobal();
if (gAgent.canAccessMaturityAtGlobal(pos_global))
{
// Add audioData starts a transfer internally.
sourcep->addAudioData(datap, FALSE);
// Preload starts a transfer internally.
sourcep->preload(sound_id);
}
}