From 825106f0ee6de275b18afbd1fd1691bb8f5be036 Mon Sep 17 00:00:00 2001
From: Rider Linden <rider@lindenlab.com>
Date: Mon, 19 Oct 2015 16:08:38 -0700
Subject: MAINT-5732: Behavior #2.  Be sure that the internet stream is stopped
 before destroying the streaming audio interface. Otherwise FMODEX blocks on
 close.

---
 indra/newview/llappviewer.cpp | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

(limited to 'indra/newview')

diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 68e67a8ac3..564e2450e8 100755
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -1764,13 +1764,14 @@ bool LLAppViewer::cleanup()
 
 	if (gAudiop)
 	{
-		// shut down the streaming audio sub-subsystem first, in case it relies on not outliving the general audio subsystem.
-
-		LLStreamingAudioInterface *sai = gAudiop->getStreamingAudioImpl();
+        // be sure to stop the internet stream cleanly BEFORE destroying the interface to stop it.
+        gAudiop->stopInternetStream();
+        // shut down the streaming audio sub-subsystem first, in case it relies on not outliving the general audio subsystem.
+        LLStreamingAudioInterface *sai = gAudiop->getStreamingAudioImpl();
 		delete sai;
 		gAudiop->setStreamingAudioImpl(NULL);
 
-		// shut down the audio subsystem
+        // shut down the audio subsystem
         gAudiop->shutdown();
 
 		delete gAudiop;
-- 
cgit v1.2.3