summaryrefslogtreecommitdiff
path: root/indra/newview/llviewerparcelmedia.cpp
diff options
context:
space:
mode:
authorKent Quirk <q@lindenlab.com>2010-01-10 15:28:09 -0500
committerKent Quirk <q@lindenlab.com>2010-01-10 15:28:09 -0500
commit47dd146c43064a3637641d26db36ea58d26d8a43 (patch)
tree98d6cc9da412ef0f3a57459a89ccb0c8a953ee58 /indra/newview/llviewerparcelmedia.cpp
parentb88563b23bed940f44f863814ad12dac13f823da (diff)
Reverting change that broke the build so we can get a working build for QA
Diffstat (limited to 'indra/newview/llviewerparcelmedia.cpp')
-rw-r--r--indra/newview/llviewerparcelmedia.cpp40
1 files changed, 38 insertions, 2 deletions
diff --git a/indra/newview/llviewerparcelmedia.cpp b/indra/newview/llviewerparcelmedia.cpp
index 56dee6b34c..0f7903a7a5 100644
--- a/indra/newview/llviewerparcelmedia.cpp
+++ b/indra/newview/llviewerparcelmedia.cpp
@@ -56,6 +56,10 @@ LLUUID LLViewerParcelMedia::sMediaRegionID;
viewer_media_t LLViewerParcelMedia::sMediaImpl;
+// Local functions
+bool callback_play_media(const LLSD& notification, const LLSD& response, LLParcel* parcel);
+
+
// static
void LLViewerParcelMedia::initClass()
{
@@ -108,10 +112,12 @@ void LLViewerParcelMedia::update(LLParcel* parcel)
// First use warning
if( (!mediaUrl.empty() ||
!parcel->getMusicURL().empty())
- && LLViewerMedia::needsMediaFirstRun())
+ && gWarningSettings.getBOOL("FirstStreamingMedia") )
{
- LLViewerMedia::displayMediaFirstRun();
+ LLNotificationsUtil::add("ParcelCanPlayMedia", LLSD(), LLSD(),
+ boost::bind(callback_play_media, _1, _2, parcel));
return;
+
}
// if we have a current (link sharing) url, use it instead
@@ -585,6 +591,36 @@ void LLViewerParcelMedia::handleMediaEvent(LLPluginClassMedia* self, EMediaEvent
};
}
+bool callback_play_media(const LLSD& notification, const LLSD& response, LLParcel* parcel)
+{
+ S32 option = LLNotificationsUtil::getSelectedOption(notification, response);
+ if (option == 0)
+ {
+ // user has elected to automatically play media.
+ gSavedSettings.setBOOL(LLViewerMedia::AUTO_PLAY_MEDIA_SETTING, TRUE);
+ gSavedSettings.setBOOL("AudioStreamingVideo", TRUE);
+ gSavedSettings.setBOOL("AudioStreamingMusic", TRUE);
+ if(!gSavedSettings.getBOOL("AudioStreamingMedia"))
+ gSavedSettings.setBOOL("AudioStreamingMedia", TRUE);
+ // play media right now, if available
+ LLViewerParcelMedia::play(parcel);
+ // play music right now, if available
+ if (parcel)
+ {
+ std::string music_url = parcel->getMusicURL();
+ if (gAudiop && !music_url.empty())
+ gAudiop->startInternetStream(music_url);
+ }
+ }
+ else
+ {
+ gSavedSettings.setBOOL("AudioStreamingVideo", FALSE);
+ gSavedSettings.setBOOL("AudioStreamingMusic", FALSE);
+ }
+ gWarningSettings.setBOOL("FirstStreamingMedia", FALSE);
+ return false;
+}
+
// TODO: observer
/*
void LLViewerParcelMediaNavigationObserver::onNavigateComplete( const EventType& event_in )