summaryrefslogtreecommitdiff
path: root/indra/newview/llviewermedia.cpp
diff options
context:
space:
mode:
authorJames Cook <james@lindenlab.com>2008-07-18 17:50:25 +0000
committerJames Cook <james@lindenlab.com>2008-07-18 17:50:25 +0000
commited386ae547c225e352c39e8d14921572ee534b0b (patch)
treef67ff767edfc07900c0c8c16cd4439eb38d05be0 /indra/newview/llviewermedia.cpp
parent292627c09df6085c985a189edd5df06d3ca1eb47 (diff)
merge support-featurettes-snapshot-merge-2 for QAR-754, includes:
* featurettes-4 89061:89589 (which is all of featurettes-1, -2, and -3, and part of -4) * gteam-showstoppers-3 91950:91951 (which is all of gteam-showstoppers-1, -2, and -3) * featurettes-5 92149:92150 (patch for last line of chat text not visible in chat history, DEV-17771) * snapshot-3 91988:91991 (which is all of snapshot-1, -2, and -3) Merging revisions 92190-92387 of svn+ssh://svn.lindenlab.com/svn/linden/branches/support-featurettes-snapshot-merge-2 into release, respecting ancestry * QAR-590 Merge Lock Request for Support Sprint * QAR-627 Merge snapshot improvements * QAR-686 Merge Lock request for Featurettes
Diffstat (limited to 'indra/newview/llviewermedia.cpp')
-rw-r--r--indra/newview/llviewermedia.cpp43
1 files changed, 32 insertions, 11 deletions
diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp
index f803ef3a3e..f80eb6e486 100644
--- a/indra/newview/llviewermedia.cpp
+++ b/indra/newview/llviewermedia.cpp
@@ -415,12 +415,44 @@ LLUUID LLViewerMediaImpl::getMediaTextureID()
// Wrapper class
//////////////////////////////////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////////////////////////////
+// The viewer takes a long time to load the start screen. Part of the problem
+// is media initialization -- in particular, QuickTime loads many DLLs and
+// hits the disk heavily. So we initialize only the browser component before
+// the login screen, then do the rest later when we have a progress bar. JC
+// static
+void LLViewerMedia::initBrowser()
+{
+ LLMediaManagerData* init_data = new LLMediaManagerData;
+ buildMediaManagerData( init_data );
+ LLMediaManager::initBrowser( init_data );
+ delete init_data;
+}
+
//////////////////////////////////////////////////////////////////////////////////////////
// static
void LLViewerMedia::initClass()
{
LLMediaManagerData* init_data = new LLMediaManagerData;
+ buildMediaManagerData( init_data );
+ LLMediaManager::initClass( init_data );
+ delete init_data;
+
+ LLMediaManager* mm = LLMediaManager::getInstance();
+ LLMIMETypes::mime_info_map_t::const_iterator it;
+ for (it = LLMIMETypes::sMap.begin(); it != LLMIMETypes::sMap.end(); ++it)
+ {
+ const std::string& mime_type = it->first;
+ const LLMIMETypes::LLMIMEInfo& info = it->second;
+ mm->addMimeTypeImplNameMap( mime_type, info.mImpl );
+ }
+}
+//////////////////////////////////////////////////////////////////////////////////////////
+// static
+void LLViewerMedia::buildMediaManagerData( LLMediaManagerData* init_data )
+{
// std::string executable_dir = std::string( arg0 ).substr( 0, std::string( arg0 ).find_last_of("\\/") );
// std::string component_dir = std::string( executable_dir ).substr( 0, std::string( executable_dir ).find_last_of("\\/") );
// component_dir = std::string( component_dir ).substr( 0, std::string( component_dir ).find_last_of("\\/") );
@@ -467,17 +499,6 @@ void LLViewerMedia::initClass()
std::string profile_name("Second Life");
init_data->setBrowserProfileName( profile_name );
init_data->setBrowserParentWindow( gViewerWindow->getPlatformWindow() );
-
- LLMediaManager::initClass( init_data );
-
- LLMediaManager* mm = LLMediaManager::getInstance();
- LLMIMETypes::mime_info_map_t::const_iterator it;
- for (it = LLMIMETypes::sMap.begin(); it != LLMIMETypes::sMap.end(); ++it)
- {
- const std::string& mime_type = it->first;
- const LLMIMETypes::LLMIMEInfo& info = it->second;
- mm->addMimeTypeImplNameMap( mime_type, info.mImpl );
- }
}
//////////////////////////////////////////////////////////////////////////////////////////