From 756a284048fff0d6dbd375ec4bfa7af564b09bab Mon Sep 17 00:00:00 2001 From: Shyotl Date: Thu, 19 Jul 2012 02:32:16 -0500 Subject: [PATCH] Don't ever halt stalled fmodex streams, as they don't seem to truly 'stall'. Decrease delay between leaving starvation and unmuting down to 1 second (from 5). --- indra/llaudio/llstreamingaudio_fmodex.cpp | 23 ++--------------------- indra/llaudio/llstreamingaudio_fmodex.h | 2 -- 2 files changed, 2 insertions(+), 23 deletions(-) diff --git a/indra/llaudio/llstreamingaudio_fmodex.cpp b/indra/llaudio/llstreamingaudio_fmodex.cpp index c57f7d59b..d2db99d45 100644 --- a/indra/llaudio/llstreamingaudio_fmodex.cpp +++ b/indra/llaudio/llstreamingaudio_fmodex.cpp @@ -70,9 +70,7 @@ LLStreamingAudio_FMODEX::LLStreamingAudio_FMODEX(FMOD::System *system) : mCurrentInternetStreamp(NULL), mFMODInternetStreamChannelp(NULL), mGain(1.0f), - mMetaData(NULL), - mStarvedProgress(0), - mStarvedNoProgressFrames(0) + mMetaData(NULL) { // Number of milliseconds of audio to buffer for the audio card. // Must be larger than the usual Second Life frame stutter time. @@ -252,27 +250,10 @@ void LLStreamingAudio_FMODEX::update() llinfos << " (diskbusy="<setMute(true); - mStarvedProgress = progress; - mStarvedNoProgressFrames = 0; - } - else if(mStarvedProgress == progress) - { - if(++mStarvedNoProgressFrames >= 10) - { - //we got 10 consecutive updates of 0 progress made on the stream buffer. It probably stalled. - llinfos << "Stream unable to recover from starvation. Halting." << llendl; - stop(); - return; - } - } - else - { - mStarvedNoProgressFrames = 0; - mStarvedProgress = progress; } mLastStarved.start(); } - else if(mLastStarved.getStarted() && mLastStarved.getElapsedTimeF32() > 5.f) + else if(mLastStarved.getStarted() && mLastStarved.getElapsedTimeF32() > 1.f) { mLastStarved.stop(); mFMODInternetStreamChannelp->setMute(false); diff --git a/indra/llaudio/llstreamingaudio_fmodex.h b/indra/llaudio/llstreamingaudio_fmodex.h index 46c0ea553..1b5211485 100644 --- a/indra/llaudio/llstreamingaudio_fmodex.h +++ b/indra/llaudio/llstreamingaudio_fmodex.h @@ -80,8 +80,6 @@ private: F32 mGain; LLTimer mLastStarved; - unsigned int mStarvedProgress; - unsigned int mStarvedNoProgressFrames; LLSD *mMetaData; };