diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp index 7c6cce5c58fa795712e953e0a22a168bcfbdebcc..99358f44516410a3a509f500ac2fef96c0ca12e9 100644 --- a/indra/newview/llviewermedia.cpp +++ b/indra/newview/llviewermedia.cpp @@ -784,18 +784,21 @@ void LLViewerMedia::updateMedia(void *dummy_arg) } } // update the audio stream here as well + static bool restore_parcel_audio = false; if( !inworld_audio_enabled) { if(LLViewerMedia::isParcelAudioPlaying() && gAudiop && LLViewerMedia::hasParcelAudio()) { LLViewerAudio::getInstance()->stopInternetStreamWithAutoFade(); + restore_parcel_audio = true; } } else { - if(gAudiop && LLViewerMedia::hasParcelAudio() && gSavedSettings.getBOOL("MediaTentativeAutoPlay")) + if(gAudiop && LLViewerMedia::hasParcelAudio() && restore_parcel_audio && gSavedSettings.getBOOL("MediaTentativeAutoPlay")) { LLViewerAudio::getInstance()->startInternetStreamWithAutoFade(LLViewerMedia::getParcelAudioURL()); + restore_parcel_audio = false; } }