diff options
| author | Andrey Lihatskiy <alihatskiy@productengine.com> | 2022-04-18 20:43:49 +0300 | 
|---|---|---|
| committer | Andrey Lihatskiy <alihatskiy@productengine.com> | 2022-04-18 20:43:49 +0300 | 
| commit | 026ad511eaeae74b0273276506ae4b3a29536a5c (patch) | |
| tree | e316418eb30f456bd55d3a59a7bd7771d0f2af28 /indra/llaudio | |
| parent | a629e845cfff17a9ab7e74dd3930e1fb63ab286b (diff) | |
| parent | d031662435d97101411ae990ed85d6e001ab668a (diff) | |
Merge branch 'master' into DRTVWR-544-maint
# Conflicts:
#	indra/newview/app_settings/settings.xml
#	indra/newview/llfloatersearch.cpp
#	indra/newview/llgroupactions.cpp
#	indra/newview/llvovolume.cpp
Diffstat (limited to 'indra/llaudio')
| -rw-r--r-- | indra/llaudio/llaudioengine.cpp | 9 | ||||
| -rw-r--r-- | indra/llaudio/llaudioengine.h | 8 | 
2 files changed, 16 insertions, 1 deletions
| diff --git a/indra/llaudio/llaudioengine.cpp b/indra/llaudio/llaudioengine.cpp index 5c0de19caa..2a00fe7c5a 100644 --- a/indra/llaudio/llaudioengine.cpp +++ b/indra/llaudio/llaudioengine.cpp @@ -1403,6 +1403,15 @@ bool LLAudioSource::setupChannel()  	return true;  } +void LLAudioSource::stop() +{ +    play(LLUUID::null); +    if (mCurrentDatap) +    { +        // always reset data if something wants us to stop +        mCurrentDatap = nullptr; +    } +}  bool LLAudioSource::play(const LLUUID &audio_uuid)  { diff --git a/indra/llaudio/llaudioengine.h b/indra/llaudio/llaudioengine.h index c842c80ff7..e12fb970ca 100644 --- a/indra/llaudio/llaudioengine.h +++ b/indra/llaudio/llaudioengine.h @@ -304,7 +304,13 @@ public:  	LLAudioBuffer *getCurrentBuffer();  	bool setupChannel(); -	bool play(const LLUUID &audio_id);	// Start the audio source playing + +    // Stop the audio source, reset audio id even if muted +    void stop(); + +    // Start the audio source playing, +    // takes mute into account to preserve previous id if nessesary +    bool play(const LLUUID &audio_id);  	bool hasPendingPreloads() const;	// Has preloads that haven't been done yet | 
