diff options
author | Steven Bennetts <steve@lindenlab.com> | 2008-04-03 19:21:14 +0000 |
---|---|---|
committer | Steven Bennetts <steve@lindenlab.com> | 2008-04-03 19:21:14 +0000 |
commit | b5936a4b1d8780b5b8cd425998eacd2c64ffa693 (patch) | |
tree | c1581bcf34e96a897c6e1d9a4aed95f353713baa /indra/newview/llviewerparcelmedia.cpp | |
parent | 55c25229b79b1755c989e5996c8e8d118f369721 (diff) |
1.19.1 Viewer merge: QAR_367, QAR-374, QAR-408, QAR-426
QAR_367 (RC1) - merge Branch_1-19-1-Viewer -r 81609 : 81993 -> release
QAR-374 (RC2) - merge Branch_1-19-1-Viewer -r 81993 : 82589 -> release
QAR-408 (RC3) - merge Branch_1-19-1-Viewer -r 82589 : 83128 -> release
QAR-426 (rc4) - merge Branch_1-19-1-Viewer -r 83125 : 83719 -> release
(Actual merge: release@83793 Branch_1-19-1-Viewer-merge@83953 -> release)
Diffstat (limited to 'indra/newview/llviewerparcelmedia.cpp')
-rw-r--r-- | indra/newview/llviewerparcelmedia.cpp | 59 |
1 files changed, 44 insertions, 15 deletions
diff --git a/indra/newview/llviewerparcelmedia.cpp b/indra/newview/llviewerparcelmedia.cpp index de37ce253e..2b475ce9f9 100644 --- a/indra/newview/llviewerparcelmedia.cpp +++ b/indra/newview/llviewerparcelmedia.cpp @@ -41,6 +41,7 @@ #include "lluuid.h" #include "message.h" #include "llviewerparcelmediaautoplay.h" +#include "llviewerwindow.h" #include "llfirstuse.h" // Static Variables @@ -48,6 +49,9 @@ S32 LLViewerParcelMedia::sMediaParcelLocalID = 0; LLUUID LLViewerParcelMedia::sMediaRegionID; +// Local functions +void callback_play_media(S32 option, void* data); + // Move this to its own file. // helper class that tries to download a URL from a web site and calls a method // on the Panel Land Media and to discover the MIME type @@ -152,6 +156,14 @@ void LLViewerParcelMedia::update(LLParcel* parcel) LLViewerMedia::setMimeType(parcel->getMediaType()); } + // First use warning + if( gSavedSettings.getWarning("FirstStreamingVideo") ) + { + gViewerWindow->alertXml("ParcelCanPlayMedia", + callback_play_media, (void*)parcel); + + } + } } else @@ -274,7 +286,8 @@ void LLViewerParcelMedia::processParcelMediaCommandMessage( LLMessageSystem *msg } else // play - if( command == PARCEL_MEDIA_COMMAND_PLAY ) + if(( command == PARCEL_MEDIA_COMMAND_PLAY ) || + ( command == PARCEL_MEDIA_COMMAND_LOOP )) { if (LLViewerMedia::isMediaPaused()) { @@ -287,16 +300,6 @@ void LLViewerParcelMedia::processParcelMediaCommandMessage( LLMessageSystem *msg } } else - // loop - if( command == PARCEL_MEDIA_COMMAND_LOOP ) - { - //llinfos << ">>> LLMediaEngine::process_parcel_media with command = " <<( '0' + command ) << llendl; - - // huh? what is play? - //convertImageAndLoadUrl( play ); - //convertImageAndLoadUrl( true, false, std::string() ); - } - else // unload if( command == PARCEL_MEDIA_COMMAND_UNLOAD ) { @@ -354,10 +357,36 @@ void LLViewerParcelMedia::processParcelMediaUpdate( LLMessageSystem *msg, void * (parcel->getMediaHeight() == media_height) && (parcel->getMediaAutoScale() == media_auto_scale) && (parcel->getMediaLoop() == media_loop)); + + if (!same) + { + // temporarily store these new values in the parcel + parcel->setMediaURL(media_url); + parcel->setMediaType(media_type.c_str()); + parcel->setMediaID(media_id); + parcel->setMediaWidth(media_width); + parcel->setMediaHeight(media_height); + parcel->setMediaAutoScale(media_auto_scale); + parcel->setMediaLoop(media_loop); + + play(parcel); + } } +} + +void callback_play_media(S32 option, void* data) +{ + LLParcel* parcel = (LLParcel*)data; + if (option == 0) + { + gSavedSettings.setBOOL("AudioStreamingVideo", TRUE); + LLViewerParcelMedia::play(parcel); + } + else + { + gSavedSettings.setBOOL("AudioStreamingVideo", FALSE); + } + gSavedSettings.setWarning("FirstStreamingVideo", FALSE); - if (!same) - LLViewerMedia::play(media_url, media_type, media_id, - media_auto_scale, media_width, media_height, - media_loop); } + |