From 8bd62baddd2b1c4038193bd80d76ddd27dc1ba35 Mon Sep 17 00:00:00 2001 From: McCabe Maxsted Date: Tue, 10 Mar 2009 13:37:22 -0700 Subject: Changed startinternetstream() a bit to be clearer --- ChangeLog.txt | 6 ++++++ linden/indra/llaudio/audioengine.cpp | 41 +++++++++++++++++++----------------- 2 files changed, 28 insertions(+), 19 deletions(-) diff --git a/ChangeLog.txt b/ChangeLog.txt index b19a737..6962554 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -1,3 +1,9 @@ +2009-03-10 McCabe Maxsted + + * linden/indra/llaudio/audioengine.cpp: + Changed startinternetstream() a bit to be clearer. + + 2009-03-07 McCabe Maxsted * linden/indra/llimagej2coj/llimagej2coj.cpp: diff --git a/linden/indra/llaudio/audioengine.cpp b/linden/indra/llaudio/audioengine.cpp index 75901e8..438aefc 100644 --- a/linden/indra/llaudio/audioengine.cpp +++ b/linden/indra/llaudio/audioengine.cpp @@ -191,39 +191,43 @@ void LLAudioEngine::startInternetStream(const std::string& url) if (mgr) { mInternetStreamMedia = mgr->createSourceFromMimeType(LLURI(url).scheme(), "audio/mpeg"); // assumes that whatever media implementation supports mp3 also supports vorbis. - //LL_INFOS("AudioEngine") << "mInternetStreamMedia is now " << mInternetStreamMedia << llendl; + LL_INFOS("AudioEngine") << "mInternetStreamMedia is now " << mInternetStreamMedia << llendl; } } if(!mInternetStreamMedia) + { return; - - // Check for a dead stream, just in case - if(getStatus() == LLMediaBase::STATUS_DEAD) + } + // Check for a dead stream from gstreamer, just in case + else if(getStatus() == LLMediaBase::STATUS_DEAD) { LL_INFOS("AudioEngine") << "don't play dead stream urls"<< llendl; mInternetStreamURL.clear(); mInternetStreamMedia->addCommand(LLMediaBase::COMMAND_STOP); mInternetStreamMedia->updateMedia(); stopInternetStream(); - return; } - - if (!url.empty()) + else if (url.empty()) { - LL_INFOS("AudioEngine") << "Starting internet stream: " << url << llendl; - mInternetStreamURL = url; - mInternetStreamMedia->navigateTo ( url ); - LL_INFOS("AudioEngine") << "Playing....." << llendl; - mInternetStreamMedia->addCommand(LLMediaBase::COMMAND_START); + LL_INFOS("AudioEngine") << "url is emptly. Setting stream to NULL"<< llendl; + mInternetStreamURL.clear(); + mInternetStreamMedia->addCommand(LLMediaBase::COMMAND_STOP); mInternetStreamMedia->updateMedia(); - } + } + // Stream appears to be good, attempting to play else { - LL_INFOS("AudioEngine") << "setting stream to NULL"<< llendl; - mInternetStreamURL.clear(); - mInternetStreamMedia->addCommand(LLMediaBase::COMMAND_STOP); + // stop any other stream first + stopInternetStream(); + + LL_INFOS("AudioEngine") << "Starting internet stream: " << url << llendl; + mInternetStreamURL = url; + mInternetStreamMedia->navigateTo(url); + //LL_INFOS("AudioEngine") << "Playing....." << llendl; + mInternetStreamMedia->addCommand(LLMediaBase::COMMAND_START); mInternetStreamMedia->updateMedia(); + mStatus = LLMediaBase::STATUS_STARTED; } } @@ -231,7 +235,8 @@ void LLAudioEngine::startInternetStream(const std::string& url) void LLAudioEngine::stopInternetStream() { LL_INFOS("AudioEngine") << "entered stopInternetStream()" << llendl; - + mInternetStreamURL.clear(); + if(mInternetStreamMedia) { if(!mInternetStreamMedia->addCommand(LLMediaBase::COMMAND_STOP)) @@ -240,8 +245,6 @@ void LLAudioEngine::stopInternetStream() } mInternetStreamMedia->updateMedia(); } - - mInternetStreamURL.clear(); } // virtual -- cgit v1.1