diff options
author | James Cook <james@lindenlab.com> | 2008-07-18 17:50:25 +0000 |
---|---|---|
committer | James Cook <james@lindenlab.com> | 2008-07-18 17:50:25 +0000 |
commit | ed386ae547c225e352c39e8d14921572ee534b0b (patch) | |
tree | f67ff767edfc07900c0c8c16cd4439eb38d05be0 /indra/newview/llviewermedia.cpp | |
parent | 292627c09df6085c985a189edd5df06d3ca1eb47 (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.cpp | 43 |
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 ); - } } ////////////////////////////////////////////////////////////////////////////////////////// |