Index: indra/newview/llviewerparcelmedia.cpp
===================================================================
--- indra/newview/llviewerparcelmedia.cpp	(revision 81762)
+++ indra/newview/llviewerparcelmedia.cpp	(revision 81763)
@@ -274,7 +274,8 @@
 		}
 		else
 		// play
-		if( command == PARCEL_MEDIA_COMMAND_PLAY )
+		if(( command == PARCEL_MEDIA_COMMAND_PLAY ) ||
+		   ( command == PARCEL_MEDIA_COMMAND_LOOP ))
 		{
 			if (LLViewerMedia::isMediaPaused())
 			{
@@ -287,16 +288,6 @@
 			}
 		}
 		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 +345,19 @@
 				(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);
+		}
 	}
-
-	if (!same)
-		LLViewerMedia::play(media_url, media_type, media_id,
-							media_auto_scale, media_width, media_height,
-							media_loop);
 }
Index: indra/newview/llviewermedia.cpp
===================================================================
--- indra/newview/llviewermedia.cpp	(revision 81762)
+++ indra/newview/llviewermedia.cpp	(revision 81763)
@@ -147,6 +147,9 @@
 		return;
 	}
 
+	// Store the URL and Mime Type
+	mMediaURL = media_url;
+
 	if ((media_width != 0) && (media_height != 0))
 	{
 		mMediaSource->setRequestedMediaSize(media_width, media_height);
@@ -157,10 +160,6 @@
 	mMediaSource->addObserver( this );
 	mMediaSource->navigateTo( media_url );
 	mMediaSource->addCommand(LLMediaBase::COMMAND_START);
-
-	// Store the URL and Mime Type
-	mMediaURL = media_url;
-
 }
 
 void LLViewerMediaImpl::stop()
