summaryrefslogtreecommitdiff
path: root/indra/newview/llviewerparcelmedia.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llviewerparcelmedia.cpp')
-rw-r--r--indra/newview/llviewerparcelmedia.cpp39
1 files changed, 32 insertions, 7 deletions
diff --git a/indra/newview/llviewerparcelmedia.cpp b/indra/newview/llviewerparcelmedia.cpp
index 336d7f684e..90a7ee98b9 100644
--- a/indra/newview/llviewerparcelmedia.cpp
+++ b/indra/newview/llviewerparcelmedia.cpp
@@ -43,7 +43,7 @@
#include "message.h"
#include "llviewermediafocus.h"
#include "llviewerparcelmediaautoplay.h"
-#include "llnotifications.h"
+#include "llnotificationsutil.h"
#include "llfirstuse.h"
#include "llpluginclassmedia.h"
#include "llviewertexture.h"
@@ -111,7 +111,7 @@ void LLViewerParcelMedia::update(LLParcel* parcel)
// First use warning
if( ! mediaUrl.empty() && gWarningSettings.getBOOL("FirstStreamingVideo") )
{
- LLNotifications::instance().add("ParcelCanPlayMedia", LLSD(), LLSD(),
+ LLNotificationsUtil::add("ParcelCanPlayMedia", LLSD(), LLSD(),
boost::bind(callback_play_media, _1, _2, parcel));
return;
@@ -167,7 +167,7 @@ void LLViewerParcelMedia::update(LLParcel* parcel)
{
gWarningSettings.setBOOL("QuickTimeInstalled", FALSE);
- LLNotifications::instance().add("NoQuickTime" );
+ LLNotificationsUtil::add("NoQuickTime" );
};
}
}
@@ -218,7 +218,7 @@ void LLViewerParcelMedia::play(LLParcel* parcel)
LL_DEBUGS("Media") << "new media impl with mime type " << mime_type << ", url " << media_url << LL_ENDL;
// Delete the old one first so they don't fight over the texture.
- sMediaImpl->stop();
+ sMediaImpl = NULL;
sMediaImpl = LLViewerMedia::newMediaImpl(
placeholder_texture_id,
@@ -261,8 +261,7 @@ void LLViewerParcelMedia::stop()
// We need to remove the media HUD if it is up.
LLViewerMediaFocus::getInstance()->clearFocus();
- // This will kill the media instance.
- sMediaImpl->stop();
+ // This will unload & kill the media instance.
sMediaImpl = NULL;
}
@@ -324,10 +323,36 @@ std::string LLViewerParcelMedia::getMimeType()
{
return sMediaImpl.notNull() ? sMediaImpl->getMimeType() : "none/none";
}
+
+//static
+std::string LLViewerParcelMedia::getURL()
+{
+ std::string url;
+ if(sMediaImpl.notNull())
+ url = sMediaImpl->getMediaURL();
+
+ if (url.empty())
+ url = LLViewerParcelMgr::getInstance()->getAgentParcel()->getMediaCurrentURL();
+
+ if (url.empty())
+ url = LLViewerParcelMgr::getInstance()->getAgentParcel()->getMediaURL();
+
+ return url;
+}
+
+//static
+std::string LLViewerParcelMedia::getName()
+{
+ if(sMediaImpl.notNull())
+ return sMediaImpl->getName();
+ return "";
+}
+
viewer_media_t LLViewerParcelMedia::getParcelMedia()
{
return sMediaImpl;
}
+
//////////////////////////////////////////////////////////////////////////////////////////
// static
void LLViewerParcelMedia::processParcelMediaCommandMessage( LLMessageSystem *msg, void ** )
@@ -565,7 +590,7 @@ void LLViewerParcelMedia::handleMediaEvent(LLPluginClassMedia* self, EMediaEvent
bool callback_play_media(const LLSD& notification, const LLSD& response, LLParcel* parcel)
{
- S32 option = LLNotification::getSelectedOption(notification, response);
+ S32 option = LLNotificationsUtil::getSelectedOption(notification, response);
if (option == 0)
{
gSavedSettings.setBOOL("AudioStreamingVideo", TRUE);