Skip to content
Snippets Groups Projects
Commit 27283807 authored by Tofu Linden's avatar Tofu Linden
Browse files

DEV-44521 Linux viewer indicates that Parcel Audio is streaming when there is no Parcel Audio

parent 7f335dbb
No related branches found
No related tags found
No related merge requests found
/** /**
* @file llviewermedia_streamingaudio.h * @file llviewermedia_streamingaudio.h
* @author Tofu Linden, Sam Kolb * @author Tofu Linden, Sam Kolb
* @brief LLStreamingAudio_MediaPlugins implementation - an implementation of the streaming audio interface which is implemented as a client of the media plugins API. * @brief LLStreamingAudio_MediaPlugins implementation - an implementation of the streaming audio interface which is implemented as a client of the media plugin API.
* *
* $LicenseInfo:firstyear=2009&license=viewergpl$ * $LicenseInfo:firstyear=2009&license=viewergpl$
* *
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
#include "llviewerprecompiledheaders.h" #include "llviewerprecompiledheaders.h"
#include "linden_common.h" #include "linden_common.h"
#include "llpluginclassmedia.h" #include "llpluginclassmedia.h"
#include "llpluginclassmediaowner.h"
#include "llviewermedia.h" #include "llviewermedia.h"
#include "llviewermedia_streamingaudio.h" #include "llviewermedia_streamingaudio.h"
...@@ -61,18 +62,18 @@ void LLStreamingAudio_MediaPlugins::start(const std::string& url) ...@@ -61,18 +62,18 @@ void LLStreamingAudio_MediaPlugins::start(const std::string& url)
if (!mMediaPlugin) // lazy-init the underlying media plugin if (!mMediaPlugin) // lazy-init the underlying media plugin
{ {
mMediaPlugin = initializeMedia("audio/mpeg"); // assumes that whatever media implementation supports mp3 also supports vorbis. mMediaPlugin = initializeMedia("audio/mpeg"); // assumes that whatever media implementation supports mp3 also supports vorbis.
llinfos << "mMediaPlugin is now " << mMediaPlugin << llendl; llinfos << "steaming audio mMediaPlugin is now " << mMediaPlugin << llendl;
} }
if(!mMediaPlugin) if(!mMediaPlugin)
return; return;
if (!url.empty()) { if (!url.empty()) {
llinfos << "Starting internet stream: " << url << llendl; llinfos << "Starting internet stream: " << url << llendl;
mURL = url; mURL = url;
mMediaPlugin->loadURI ( url ); mMediaPlugin->loadURI ( url );
mMediaPlugin->start(); mMediaPlugin->start();
llinfos << "Playing....." << llendl; llinfos << "Playing stream..." << llendl;
} else { } else {
llinfos << "setting stream to NULL"<< llendl; llinfos << "setting stream to NULL"<< llendl;
mURL.clear(); mURL.clear();
...@@ -82,6 +83,7 @@ void LLStreamingAudio_MediaPlugins::start(const std::string& url) ...@@ -82,6 +83,7 @@ void LLStreamingAudio_MediaPlugins::start(const std::string& url)
void LLStreamingAudio_MediaPlugins::stop() void LLStreamingAudio_MediaPlugins::stop()
{ {
llinfos << "Stopping internet stream." << llendl;
if(mMediaPlugin) if(mMediaPlugin)
{ {
mMediaPlugin->stop(); mMediaPlugin->stop();
...@@ -97,10 +99,12 @@ void LLStreamingAudio_MediaPlugins::pause(int pause) ...@@ -97,10 +99,12 @@ void LLStreamingAudio_MediaPlugins::pause(int pause)
if(pause) if(pause)
{ {
llinfos << "Pausing internet stream." << llendl;
mMediaPlugin->pause(); mMediaPlugin->pause();
} }
else else
{ {
llinfos << "Unpausing internet stream." << llendl;
mMediaPlugin->start(); mMediaPlugin->start();
} }
} }
...@@ -114,20 +118,21 @@ void LLStreamingAudio_MediaPlugins::update() ...@@ -114,20 +118,21 @@ void LLStreamingAudio_MediaPlugins::update()
int LLStreamingAudio_MediaPlugins::isPlaying() int LLStreamingAudio_MediaPlugins::isPlaying()
{ {
if (!mMediaPlugin) if (!mMediaPlugin)
return 0; return 0; // stopped
// *TODO: can probably do better than this LLPluginClassMediaOwner::EMediaStatus status =
if (mMediaPlugin->isPluginRunning()) mMediaPlugin->getStatus();
{
return 1; // Active and playing
}
if (mMediaPlugin->isPluginExited()) switch (status)
{ {
case LLPluginClassMediaOwner::MEDIA_LOADING: // but not MEDIA_LOADED
case LLPluginClassMediaOwner::MEDIA_PLAYING:
return 1; // Active and playing
case LLPluginClassMediaOwner::MEDIA_PAUSED:
return 2; // paused
default:
return 0; // stopped return 0; // stopped
} }
return 2; // paused
} }
void LLStreamingAudio_MediaPlugins::setGain(F32 vol) void LLStreamingAudio_MediaPlugins::setGain(F32 vol)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment