diff options
| -rw-r--r-- | indra/llprimitive/lltextureentry.cpp | 6 | ||||
| -rw-r--r-- | indra/llprimitive/lltextureentry.h | 4 | ||||
| -rw-r--r-- | indra/newview/app_settings/logcontrol.xml | 1 | ||||
| -rw-r--r-- | indra/newview/llmediadataclient.cpp | 8 | ||||
| -rw-r--r-- | indra/newview/llvovolume.cpp | 24 | 
5 files changed, 29 insertions, 14 deletions
| diff --git a/indra/llprimitive/lltextureentry.cpp b/indra/llprimitive/lltextureentry.cpp index b534939dfc..8f7cd68834 100644 --- a/indra/llprimitive/lltextureentry.cpp +++ b/indra/llprimitive/lltextureentry.cpp @@ -646,3 +646,9 @@ LLUUID LLTextureEntry::getAgentIDFromMediaVersionString(const std::string &versi      }      return id;  } + +//static +bool LLTextureEntry::isMediaVersionString(const std::string &version_string) +{ +	return std::string::npos != version_string.find(MEDIA_VERSION_STRING_PREFIX); +} diff --git a/indra/llprimitive/lltextureentry.h b/indra/llprimitive/lltextureentry.h index 8d2834f78c..d6366b9bb2 100644 --- a/indra/llprimitive/lltextureentry.h +++ b/indra/llprimitive/lltextureentry.h @@ -171,7 +171,9 @@ public:      static U32 getVersionFromMediaVersionString(const std::string &version_string);      // Given a media version string, return the UUID of the agent      static LLUUID getAgentIDFromMediaVersionString(const std::string &version_string); - +	// Return whether or not the given string is actually a media version +	static bool isMediaVersionString(const std::string &version_string); +	  	// Media flags  	enum { MF_NONE = 0x0, MF_HAS_MEDIA = 0x1 }; diff --git a/indra/newview/app_settings/logcontrol.xml b/indra/newview/app_settings/logcontrol.xml index d7bb64ce8a..0524834747 100644 --- a/indra/newview/app_settings/logcontrol.xml +++ b/indra/newview/app_settings/logcontrol.xml @@ -25,6 +25,7 @@  							<string>AppCache</string>  							<string>Window</string>  							<string>RenderInit</string> +							<string>MediaOnAPrim</string>  						</array>  				</map>  				<map> diff --git a/indra/newview/llmediadataclient.cpp b/indra/newview/llmediadataclient.cpp index 6a932d76bf..7ef26fd0e2 100644 --- a/indra/newview/llmediadataclient.cpp +++ b/indra/newview/llmediadataclient.cpp @@ -37,7 +37,6 @@  #include <boost/lexical_cast.hpp>  #include "llhttpstatuscodes.h" -#include "llnotifications.h"  #include "llsdutil.h"  #include "llmediaentry.h"  #include "lltextureentry.h" @@ -216,10 +215,7 @@ void LLMediaDataClient::Responder::error(U32 status, const std::string& reason)  	}  	else {  		std::string msg = boost::lexical_cast<std::string>(status) + ": " + reason; -		LL_INFOS("LLMediaDataClient") << *mRequest << " error(" << msg << ")" << LL_ENDL; -		LLSD args; -		args["ERROR"] = msg; -		LLNotifications::instance().add("ObjectMediaFailure", args); +		LL_WARNS("LLMediaDataClient") << *mRequest << " http error(" << msg << ")" << LL_ENDL;  	}  } @@ -622,6 +618,6 @@ void LLObjectMediaNavigateClient::Responder::bounceBack()      if (mep && impl)      { -//        impl->navigateTo(mep->getCurrentURL()); +//        impl->navigateTo(mep->getCurrentURL(), "", false, true);      }  } diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index 583246c23e..428de078de 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -319,13 +319,23 @@ U32 LLVOVolume::processUpdateMessage(LLMessageSystem *mesgsys,  			}  		}  	} -	if (retval & (MEDIA_URL_REMOVED | MEDIA_URL_ADDED | MEDIA_URL_UPDATED | MEDIA_FLAGS_CHANGED)) { -		// If the media changed at all, request new media data -		if(mMedia) -		{ -			llinfos << "Media URL: " << mMedia->mMediaURL << llendl; -		} -		requestMediaDataUpdate(); +	if (retval & (MEDIA_URL_REMOVED | MEDIA_URL_ADDED | MEDIA_URL_UPDATED | MEDIA_FLAGS_CHANGED))  +	{ +		// If only the media URL changed, and it isn't a media version URL, +		// ignore it +		if ( ! ( retval & (MEDIA_URL_ADDED | MEDIA_URL_UPDATED) && +				 mMedia && ! mMedia->mMediaURL.empty() && +				 ! LLTextureEntry::isMediaVersionString(mMedia->mMediaURL) ) ) +		{ +			// If the media changed at all, request new media data +			LL_DEBUGS("MediaOnAPrim") << "Media update: " << getID() << ": retval=" << retval << " Media URL: " << +                ((mMedia) ?  mMedia->mMediaURL : std::string("")) << LL_ENDL; +			requestMediaDataUpdate(); +		} +        else { +            LL_INFOS("MediaOnAPrim") << "Ignoring media update for: " << getID() << " Media URL: " << +                ((mMedia) ?  mMedia->mMediaURL : std::string("")) << LL_ENDL; +        }  	}  	// ...and clean up any media impls  	cleanUpMediaImpls(); | 
