summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/media_plugins/quicktime/media_plugin_quicktime.cpp16
-rw-r--r--indra/newview/llmediactrl.cpp22
-rw-r--r--indra/newview/llmediactrl.h1
-rw-r--r--indra/newview/llviewermedia.cpp2
-rw-r--r--indra/newview/skins/default/xui/en/panel_login.xml1
-rwxr-xr-xindra/newview/viewer_manifest.py4
-rw-r--r--indra/test_apps/llplugintest/llmediaplugintest.cpp18
-rw-r--r--install.xml8
8 files changed, 48 insertions, 24 deletions
diff --git a/indra/media_plugins/quicktime/media_plugin_quicktime.cpp b/indra/media_plugins/quicktime/media_plugin_quicktime.cpp
index dac0509531..182fab69d0 100644
--- a/indra/media_plugins/quicktime/media_plugin_quicktime.cpp
+++ b/indra/media_plugins/quicktime/media_plugin_quicktime.cpp
@@ -552,7 +552,7 @@ private:
processState();
// see if title arrived and if so, update member variable with contents
- checkTitle();
+ //checkTitle();
// QT call to see if we are at the end - can't do with controller
if ( IsMovieDone( mMovieHandle ) )
@@ -718,18 +718,24 @@ private:
// find the size of the title
ByteCount size;
result = QTMetaDataGetItemValue( media_data_ref, item, NULL, 0, &size );
- if ( noErr != result || size <= 0 )
+ if ( noErr != result || size <= 0 /*|| size > 1024 /* FIXME: arbitrary limit */ )
return false;
// allocate some space and grab it
- UInt8* item_data = new UInt8( size );
- memset( item_data, 0, size * sizeof( UInt8* ) );
+ UInt8* item_data = new UInt8( size + 1 );
+ memset( item_data, 0, ( size + 1 ) * sizeof( UInt8* ) );
result = QTMetaDataGetItemValue( media_data_ref, item, item_data, size, NULL );
if ( noErr != result )
+ {
+ delete [] item_data;
return false;
+ };
// save it
- mMovieTitle = std::string( (char* )item_data );
+ if ( strlen( (char*)item_data ) )
+ mMovieTitle = std::string( (char* )item_data );
+ else
+ mMovieTitle = "";
// clean up
delete [] item_data;
diff --git a/indra/newview/llmediactrl.cpp b/indra/newview/llmediactrl.cpp
index 8f29f908e5..90c009887d 100644
--- a/indra/newview/llmediactrl.cpp
+++ b/indra/newview/llmediactrl.cpp
@@ -92,6 +92,7 @@ LLMediaCtrl::LLMediaCtrl( const Params& p) :
mStretchToFill( true ),
mMaintainAspectRatio ( true ),
mHideLoading (false),
+ mHidingInitialLoad (false),
mDecoupleTextureSize ( false ),
mTextureWidth ( 1024 ),
mTextureHeight ( 1024 )
@@ -616,6 +617,11 @@ bool LLMediaCtrl::ensureMediaSourceExists()
mMediaSource->setHomeURL(mHomePageUrl);
mMediaSource->setVisible( getVisible() );
mMediaSource->addObserver( this );
+
+ if(mHideLoading)
+ {
+ mHidingInitialLoad = true;
+ }
}
else
{
@@ -685,7 +691,13 @@ void LLMediaCtrl::draw()
{
setFrequentUpdates( false );
};
-
+
+ if(mHidingInitialLoad)
+ {
+ // If we're hiding loading, don't draw at all.
+ return;
+ }
+
// alpha off for this
LLGLSUIDefault gls_ui;
LLGLDisable gls_alphaTest( GL_ALPHA_TEST );
@@ -865,19 +877,15 @@ void LLMediaCtrl::handleMediaEvent(LLPluginClassMedia* self, EMediaEvent event)
case MEDIA_EVENT_NAVIGATE_BEGIN:
{
LL_DEBUGS("Media") << "Media event: MEDIA_EVENT_NAVIGATE_BEGIN, url is " << self->getNavigateURI() << LL_ENDL;
- if(mMediaSource && mHideLoading)
- {
- mMediaSource->suspendUpdates(true);
- }
};
break;
case MEDIA_EVENT_NAVIGATE_COMPLETE:
{
LL_DEBUGS("Media") << "Media event: MEDIA_EVENT_NAVIGATE_COMPLETE, result string is: " << self->getNavigateResultString() << LL_ENDL;
- if(mMediaSource && mHideLoading)
+ if(mHidingInitialLoad)
{
- mMediaSource->suspendUpdates(false);
+ mHidingInitialLoad = false;
}
};
break;
diff --git a/indra/newview/llmediactrl.h b/indra/newview/llmediactrl.h
index 76ddc61ebf..f07513a3fd 100644
--- a/indra/newview/llmediactrl.h
+++ b/indra/newview/llmediactrl.h
@@ -188,6 +188,7 @@ public:
bool mStretchToFill;
bool mMaintainAspectRatio;
bool mHideLoading;
+ bool mHidingInitialLoad;
bool mDecoupleTextureSize;
S32 mTextureWidth;
S32 mTextureHeight;
diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp
index dda7d35f7d..3a7c54479b 100644
--- a/indra/newview/llviewermedia.cpp
+++ b/indra/newview/llviewermedia.cpp
@@ -740,7 +740,7 @@ void LLViewerMedia::updateMedia()
}
// Transfer the proximity order to the proximity fields in the objects.
- for(int i = 0; i < (S32)proximity_order.size(); i++)
+ for(int i = 0; i < (int)proximity_order.size(); i++)
{
proximity_order[i]->mProximity = i;
}
diff --git a/indra/newview/skins/default/xui/en/panel_login.xml b/indra/newview/skins/default/xui/en/panel_login.xml
index cb5ec15387..a9a02e8fc7 100644
--- a/indra/newview/skins/default/xui/en/panel_login.xml
+++ b/indra/newview/skins/default/xui/en/panel_login.xml
@@ -27,6 +27,7 @@
border_visible="false"
bottom="600"
follows="all"
+ hide_loading="true"
left="0"
name="login_html"
start_url=""
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index 7e5c30a978..64cfdf2704 100755
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -221,10 +221,12 @@ class WindowsManifest(ViewerManifest):
def construct(self):
super(WindowsManifest, self).construct()
+
+ self.enable_crt_manifest_check()
+
# Find secondlife-bin.exe in the 'configuration' dir, then rename it to the result of final_exe.
self.path(src='%s/secondlife-bin.exe' % self.args['configuration'], dst=self.final_exe())
- self.enable_crt_manifest_check()
# Plugin host application
self.path(os.path.join(os.pardir,
diff --git a/indra/test_apps/llplugintest/llmediaplugintest.cpp b/indra/test_apps/llplugintest/llmediaplugintest.cpp
index d987915bb8..ee27ad77df 100644
--- a/indra/test_apps/llplugintest/llmediaplugintest.cpp
+++ b/indra/test_apps/llplugintest/llmediaplugintest.cpp
@@ -223,13 +223,16 @@ LLMediaPluginTest::LLMediaPluginTest( int app_window, int window_width, int wind
resetView();
// initial media panel
+ //const int num_initial_panels = 1;
+ //for( int i = 0; i < num_initial_panels; ++i )
+ //{
+ // //addMediaPanel( mBookmarks[ rand() % ( mBookmarks.size() - 1 ) + 1 ].second );
+ // addMediaPanel( mHomeWebUrl );
+ //};
+
+addMediaPanel( "http://chemicaljump.com/wp-content/uploads/2009/10/lth34/Proxy-8000.mp3" );
+addMediaPanel( "http://movies.apple.com/movies/sony_pictures/zombieland/zombieland-inttlr_h.320.mov" );
- const int num_initial_panels = 1;
- for( int i = 0; i < num_initial_panels; ++i )
- {
- //addMediaPanel( mBookmarks[ rand() % ( mBookmarks.size() - 1 ) + 1 ].second );
- addMediaPanel( mHomeWebUrl );
- };
}
////////////////////////////////////////////////////////////////////////////////
@@ -1460,6 +1463,9 @@ std::string LLMediaPluginTest::mimeTypeFromUrl( std::string& url )
if ( url.find( ".txt" ) != std::string::npos ) // Apple Text descriptors
mime_type = "video/quicktime";
else
+ if ( url.find( ".mp3" ) != std::string::npos ) // Apple Text descriptors
+ mime_type = "video/quicktime";
+ else
if ( url.find( "example://" ) != std::string::npos ) // Example plugin
mime_type = "example/example";
diff --git a/install.xml b/install.xml
index ff9fa80500..de5bdc4b37 100644
--- a/install.xml
+++ b/install.xml
@@ -132,9 +132,9 @@
<key>windows</key>
<map>
<key>md5sum</key>
- <string>70b51d0cc93c305026e4e2778cde6d19</string>
+ <string>f5cf8d121b26f2e7944f7e63cdbff04d</string>
<key>url</key>
- <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/ares-1.6.0-windows-20090722.tar.bz2</uri>
+ <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/ares-1.6.0-windows-20091105.tar.bz2</uri>
</map>
</map>
</map>
@@ -254,9 +254,9 @@
<key>windows</key>
<map>
<key>md5sum</key>
- <string>8dc4e818c2d6fbde76e9a5e34f4ffa72</string>
+ <string>53e5ab7affff7121a5af2f82b4d58b54</string>
<key>url</key>
- <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/curl-7.19.6-windows-20090917b.tar.bz2</uri>
+ <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/curl-7.19.6-windows-20091016.tar.bz2</uri>
</map>
</map>
</map>