aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/llvoiceclient.cpp
diff options
context:
space:
mode:
authorDavid Seikel2011-03-20 17:02:40 +1000
committerDavid Seikel2011-03-20 17:02:40 +1000
commit8c15fcec590c68337b8aa05d17793cd3c2a48068 (patch)
treee233ecfa79c6fe22f47dc0eba44c0300dc0daa71 /linden/indra/newview/llvoiceclient.cpp
parentThe half arsed IRC support was broken. It's still not working, though it wor... (diff)
parentMerge remote-tracking branch 'jacek/exp' into exp (diff)
downloadmeta-impy-8c15fcec590c68337b8aa05d17793cd3c2a48068.zip
meta-impy-8c15fcec590c68337b8aa05d17793cd3c2a48068.tar.gz
meta-impy-8c15fcec590c68337b8aa05d17793cd3c2a48068.tar.bz2
meta-impy-8c15fcec590c68337b8aa05d17793cd3c2a48068.tar.xz
Merge remote-tracking branch 'mccabe/exp' into weekly
Conflicts: (Keeping these around as a record, there was some strangeness. .gitignore linden/indra/media_plugins/gstreamer010/media_plugin_gstreamer010.cpp linden/indra/newview/llfloaterregioninfo.cpp linden/indra/newview/llfloatertos.cpp linden/indra/newview/llpanellogin.cpp linden/indra/newview/skins/default/html/en-us/loading-error/index.html linden/indra/newview/skins/default/html/en-us/loading/loading.html linden/indra/newview/skins/default/xui/en-us/floater_about.xml linden/install.xml
Diffstat (limited to 'linden/indra/newview/llvoiceclient.cpp')
-rw-r--r--linden/indra/newview/llvoiceclient.cpp45
1 files changed, 27 insertions, 18 deletions
diff --git a/linden/indra/newview/llvoiceclient.cpp b/linden/indra/newview/llvoiceclient.cpp
index 3800b4d..da7b840 100644
--- a/linden/indra/newview/llvoiceclient.cpp
+++ b/linden/indra/newview/llvoiceclient.cpp
@@ -62,6 +62,7 @@
62#include "llfirstuse.h" 62#include "llfirstuse.h"
63#include "llviewerwindow.h" 63#include "llviewerwindow.h"
64#include "llviewercamera.h" 64#include "llviewercamera.h"
65#include "hippolimits.h"
65 66
66#include "llfloaterfriends.h" //VIVOX, inorder to refresh communicate panel 67#include "llfloaterfriends.h" //VIVOX, inorder to refresh communicate panel
67#include "llfloaterchat.h" // for LLFloaterChat::addChat() 68#include "llfloaterchat.h" // for LLFloaterChat::addChat()
@@ -1524,15 +1525,22 @@ void LLVoiceClient::setState(state inState)
1524 1525
1525 mState = inState; 1526 mState = inState;
1526} 1527}
1528void LLVoiceClient::close()
1529{
1530 setState(stateDisableCleanup);
1531}
1532
1533void LLVoiceClient::start()
1534{
1535 setState(stateStart);
1536}
1527 1537
1528void LLVoiceClient::stateMachine() 1538void LLVoiceClient::stateMachine()
1529{ 1539{
1530 if(gDisconnected) 1540
1531 { 1541 // Disable voice as long as the viewer is disconnected from the sim (login/relog)
1532 // The viewer has been disconnected from the sim. Disable voice. 1542 setVoiceEnabled(!gDisconnected);
1533 setVoiceEnabled(false); 1543
1534 }
1535
1536 if(mVoiceEnabled) 1544 if(mVoiceEnabled)
1537 { 1545 {
1538 updatePosition(); 1546 updatePosition();
@@ -1549,7 +1557,7 @@ void LLVoiceClient::stateMachine()
1549 if(!mConnected) 1557 if(!mConnected)
1550 { 1558 {
1551 // if voice was turned off after the daemon was launched but before we could connect to it, we may need to issue a kill. 1559 // if voice was turned off after the daemon was launched but before we could connect to it, we may need to issue a kill.
1552 LL_INFOS("Voice") << "Disabling voice before connection to daemon, terminating." << LL_ENDL; 1560 LL_WARNS("Voice") << "Disabling voice before connection to daemon, terminating." << LL_ENDL;
1553 killGateway(); 1561 killGateway();
1554 } 1562 }
1555 1563
@@ -1654,12 +1662,12 @@ void LLVoiceClient::stateMachine()
1654 //std::string exe_path = gDirUtilp->getAppRODataDir(); 1662 //std::string exe_path = gDirUtilp->getAppRODataDir();
1655 std::string exe_path = gDirUtilp->getExecutableDir(); 1663 std::string exe_path = gDirUtilp->getExecutableDir();
1656 exe_path += gDirUtilp->getDirDelimiter(); 1664 exe_path += gDirUtilp->getDirDelimiter();
1665#if LL_DARWIN
1666 exe_path += "../Resources/";
1667#endif
1668 exe_path += gSavedSettings.getString("VoiceModule");
1657#if LL_WINDOWS 1669#if LL_WINDOWS
1658 exe_path += "SLVoice.exe"; 1670 exe_path += ".exe";
1659#elif LL_DARWIN
1660 exe_path += "../Resources/SLVoice";
1661#else
1662 exe_path += "SLVoice";
1663#endif 1671#endif
1664 // See if the vivox executable exists 1672 // See if the vivox executable exists
1665 llstat s; 1673 llstat s;
@@ -1687,7 +1695,8 @@ void LLVoiceClient::stateMachine()
1687 STARTUPINFOA sinfo; 1695 STARTUPINFOA sinfo;
1688 memset(&sinfo, 0, sizeof(sinfo)); 1696 memset(&sinfo, 0, sizeof(sinfo));
1689 std::string exe_dir = gDirUtilp->getAppRODataDir(); 1697 std::string exe_dir = gDirUtilp->getAppRODataDir();
1690 cmd = "SLVoice.exe"; 1698 cmd = gSavedSettings.getString("VoiceModule");
1699 cmd += ".exe";
1691 cmd += args; 1700 cmd += args;
1692 1701
1693 // So retarded. Windows requires that the second parameter to CreateProcessA be a writable (non-const) string... 1702 // So retarded. Windows requires that the second parameter to CreateProcessA be a writable (non-const) string...
@@ -1753,7 +1762,7 @@ void LLVoiceClient::stateMachine()
1753 } 1762 }
1754 else 1763 else
1755 { 1764 {
1756 LL_INFOS("Voice") << exe_path << " not found." << LL_ENDL; 1765 LL_WARNS("Voice") << exe_path << " not found." << LL_ENDL;
1757 mVoiceEnabled = false; 1766 mVoiceEnabled = false;
1758 } 1767 }
1759 } 1768 }
@@ -3772,7 +3781,7 @@ void LLVoiceClient::loginResponse(int statusCode, std::string &statusString, std
3772 if ( statusCode == 401 ) 3781 if ( statusCode == 401 )
3773 { 3782 {
3774 // Login failure which is probably caused by the delay after a user's password being updated. 3783 // Login failure which is probably caused by the delay after a user's password being updated.
3775 LL_INFOS("Voice") << "Account.Login response failure (" << statusCode << "): " << statusString << LL_ENDL; 3784 LL_WARNS("Voice") << "Account.Login response failure (" << statusCode << "): " << statusString << LL_ENDL;
3776 setState(stateLoginRetry); 3785 setState(stateLoginRetry);
3777 } 3786 }
3778 else if(statusCode != 0) 3787 else if(statusCode != 0)
@@ -3950,7 +3959,7 @@ void LLVoiceClient::sessionAddedEvent(
3950 } 3959 }
3951 else 3960 else
3952 { 3961 {
3953 LL_INFOS("Voice") << "Could not generate caller id from uri, using hash of uri " << session->mSIPURI << LL_ENDL; 3962 LL_WARNS("Voice") << "Could not generate caller id from uri, using hash of uri " << session->mSIPURI << LL_ENDL;
3954 setUUIDFromStringHash(session->mCallerID, session->mSIPURI); 3963 setUUIDFromStringHash(session->mCallerID, session->mSIPURI);
3955 session->mSynthesizedCallerID = true; 3964 session->mSynthesizedCallerID = true;
3956 3965
@@ -4468,7 +4477,7 @@ void LLVoiceClient::participantUpdatedEvent(
4468 } 4477 }
4469 else 4478 else
4470 { 4479 {
4471 LL_INFOS("Voice") << "unknown session " << sessionHandle << LL_ENDL; 4480 LL_WARNS("Voice") << "unknown session " << sessionHandle << LL_ENDL;
4472 } 4481 }
4473} 4482}
4474 4483
@@ -5062,7 +5071,7 @@ void LLVoiceClient::parcelChanged()
5062 else 5071 else
5063 { 5072 {
5064 // The transition to stateNoChannel needs to kick this off again. 5073 // The transition to stateNoChannel needs to kick this off again.
5065 LL_INFOS("Voice") << "not logged in yet, deferring" << LL_ENDL; 5074 LL_WARNS("Voice") << "not logged in yet, deferring" << LL_ENDL;
5066 } 5075 }
5067} 5076}
5068 5077