diff options
author | Jacek Antonelli | 2008-08-15 23:45:50 -0500 |
---|---|---|
committer | Jacek Antonelli | 2008-08-15 23:45:50 -0500 |
commit | 2a4dea528f670b9bb1f77ef27a8a1dd16603d114 (patch) | |
tree | 95c68e362703c9099d571ecbdc6142b1cda1e005 /linden/indra/newview/llvoiceclient.cpp | |
parent | Second Life viewer sources 1.20.6 (diff) | |
download | meta-impy-2a4dea528f670b9bb1f77ef27a8a1dd16603d114.zip meta-impy-2a4dea528f670b9bb1f77ef27a8a1dd16603d114.tar.gz meta-impy-2a4dea528f670b9bb1f77ef27a8a1dd16603d114.tar.bz2 meta-impy-2a4dea528f670b9bb1f77ef27a8a1dd16603d114.tar.xz |
Second Life viewer sources 1.20.7
Diffstat (limited to 'linden/indra/newview/llvoiceclient.cpp')
-rw-r--r-- | linden/indra/newview/llvoiceclient.cpp | 249 |
1 files changed, 131 insertions, 118 deletions
diff --git a/linden/indra/newview/llvoiceclient.cpp b/linden/indra/newview/llvoiceclient.cpp index 738eeac..7f63aca 100644 --- a/linden/indra/newview/llvoiceclient.cpp +++ b/linden/indra/newview/llvoiceclient.cpp | |||
@@ -268,7 +268,7 @@ LLIOPipe::EStatus LLVivoxProtocolParser::process_impl( | |||
268 | } | 268 | } |
269 | else | 269 | else |
270 | { | 270 | { |
271 | llinfos << "parsing: " << mInput.substr(start, delim - start) << llendl; | 271 | LL_INFOS("Voice") << "parsing: " << mInput.substr(start, delim - start) << LL_ENDL; |
272 | } | 272 | } |
273 | } | 273 | } |
274 | 274 | ||
@@ -287,12 +287,12 @@ LLIOPipe::EStatus LLVivoxProtocolParser::process_impl( | |||
287 | if(start != 0) | 287 | if(start != 0) |
288 | mInput = mInput.substr(start); | 288 | mInput = mInput.substr(start); |
289 | 289 | ||
290 | // llinfos << "at end, mInput is: " << mInput << llendl; | 290 | LL_DEBUGS("Voice") << "at end, mInput is: " << mInput << LL_ENDL; |
291 | 291 | ||
292 | if(!gVoiceClient->mConnected) | 292 | if(!gVoiceClient->mConnected) |
293 | { | 293 | { |
294 | // If voice has been disabled, we just want to close the socket. This does so. | 294 | // If voice has been disabled, we just want to close the socket. This does so. |
295 | llinfos << "returning STATUS_STOP" << llendl; | 295 | LL_INFOS("Voice") << "returning STATUS_STOP" << LL_ENDL; |
296 | return STATUS_STOP; | 296 | return STATUS_STOP; |
297 | } | 297 | } |
298 | 298 | ||
@@ -366,17 +366,17 @@ void LLVivoxProtocolParser::StartTag(const char *tag, const char **attr) | |||
366 | } | 366 | } |
367 | } | 367 | } |
368 | } | 368 | } |
369 | //llinfos << tag << " (" << responseDepth << ")" << llendl; | 369 | LL_DEBUGS("Voice") << tag << " (" << responseDepth << ")" << LL_ENDL; |
370 | } | 370 | } |
371 | else | 371 | else |
372 | { | 372 | { |
373 | if (ignoringTags) | 373 | if (ignoringTags) |
374 | { | 374 | { |
375 | //llinfos << "ignoring tag " << tag << " (depth = " << responseDepth << ")" << llendl; | 375 | LL_DEBUGS("Voice") << "ignoring tag " << tag << " (depth = " << responseDepth << ")" << LL_ENDL; |
376 | } | 376 | } |
377 | else | 377 | else |
378 | { | 378 | { |
379 | //llinfos << tag << " (" << responseDepth << ")" << llendl; | 379 | LL_DEBUGS("Voice") << tag << " (" << responseDepth << ")" << LL_ENDL; |
380 | 380 | ||
381 | // Ignore the InputXml stuff so we don't get confused | 381 | // Ignore the InputXml stuff so we don't get confused |
382 | if (strcmp("InputXml", tag) == 0) | 382 | if (strcmp("InputXml", tag) == 0) |
@@ -385,7 +385,7 @@ void LLVivoxProtocolParser::StartTag(const char *tag, const char **attr) | |||
385 | ignoreDepth = responseDepth; | 385 | ignoreDepth = responseDepth; |
386 | accumulateText = false; | 386 | accumulateText = false; |
387 | 387 | ||
388 | //llinfos << "starting ignore, ignoreDepth is " << ignoreDepth << llendl; | 388 | LL_DEBUGS("Voice") << "starting ignore, ignoreDepth is " << ignoreDepth << LL_ENDL; |
389 | } | 389 | } |
390 | else if (strcmp("CaptureDevices", tag) == 0) | 390 | else if (strcmp("CaptureDevices", tag) == 0) |
391 | { | 391 | { |
@@ -413,18 +413,18 @@ void LLVivoxProtocolParser::EndTag(const char *tag) | |||
413 | { | 413 | { |
414 | if (ignoreDepth == responseDepth) | 414 | if (ignoreDepth == responseDepth) |
415 | { | 415 | { |
416 | //llinfos << "end of ignore" << llendl; | 416 | LL_DEBUGS("Voice") << "end of ignore" << LL_ENDL; |
417 | ignoringTags = false; | 417 | ignoringTags = false; |
418 | } | 418 | } |
419 | else | 419 | else |
420 | { | 420 | { |
421 | //llinfos << "ignoring tag " << tag << " (depth = " << responseDepth << ")" << llendl; | 421 | LL_DEBUGS("Voice") << "ignoring tag " << tag << " (depth = " << responseDepth << ")" << LL_ENDL; |
422 | } | 422 | } |
423 | } | 423 | } |
424 | 424 | ||
425 | if (!ignoringTags) | 425 | if (!ignoringTags) |
426 | { | 426 | { |
427 | //llinfos << "processing tag " << tag << " (depth = " << responseDepth << ")" << llendl; | 427 | LL_DEBUGS("Voice") << "processing tag " << tag << " (depth = " << responseDepth << ")" << LL_ENDL; |
428 | 428 | ||
429 | // Closing a tag. Finalize the text we've accumulated and reset | 429 | // Closing a tag. Finalize the text we've accumulated and reset |
430 | if (strcmp("ReturnCode", tag) == 0) | 430 | if (strcmp("ReturnCode", tag) == 0) |
@@ -531,7 +531,7 @@ void LLVivoxProtocolParser::CharData(const char *buffer, int length) | |||
531 | 531 | ||
532 | void LLVivoxProtocolParser::processResponse(std::string tag) | 532 | void LLVivoxProtocolParser::processResponse(std::string tag) |
533 | { | 533 | { |
534 | //llinfos << tag << llendl; | 534 | LL_DEBUGS("Voice") << tag << LL_ENDL; |
535 | 535 | ||
536 | if (isEvent) | 536 | if (isEvent) |
537 | { | 537 | { |
@@ -700,9 +700,9 @@ private: | |||
700 | 700 | ||
701 | void LLVoiceClientCapResponder::error(U32 status, const std::string& reason) | 701 | void LLVoiceClientCapResponder::error(U32 status, const std::string& reason) |
702 | { | 702 | { |
703 | llwarns << "LLVoiceClientCapResponder::error(" | 703 | LL_WARNS("Voice") << "LLVoiceClientCapResponder::error(" |
704 | << status << ": " << reason << ")" | 704 | << status << ": " << reason << ")" |
705 | << llendl; | 705 | << LL_ENDL; |
706 | } | 706 | } |
707 | 707 | ||
708 | void LLVoiceClientCapResponder::result(const LLSD& content) | 708 | void LLVoiceClientCapResponder::result(const LLSD& content) |
@@ -710,8 +710,8 @@ void LLVoiceClientCapResponder::result(const LLSD& content) | |||
710 | LLSD::map_const_iterator iter; | 710 | LLSD::map_const_iterator iter; |
711 | for(iter = content.beginMap(); iter != content.endMap(); ++iter) | 711 | for(iter = content.beginMap(); iter != content.endMap(); ++iter) |
712 | { | 712 | { |
713 | llinfos << "LLVoiceClientCapResponder::result got " | 713 | LL_DEBUGS("Voice") << "LLVoiceClientCapResponder::result got " |
714 | << iter->first << llendl; | 714 | << iter->first << LL_ENDL; |
715 | } | 715 | } |
716 | 716 | ||
717 | if ( content.has("voice_credentials") ) | 717 | if ( content.has("voice_credentials") ) |
@@ -833,6 +833,7 @@ LLVoiceClient::LLVoiceClient() | |||
833 | setCaptureDevice(captureDevice); | 833 | setCaptureDevice(captureDevice); |
834 | std::string renderDevice = gSavedSettings.getString("VoiceOutputAudioDevice"); | 834 | std::string renderDevice = gSavedSettings.getString("VoiceOutputAudioDevice"); |
835 | setRenderDevice(renderDevice); | 835 | setRenderDevice(renderDevice); |
836 | mLipSyncEnabled = gSavedSettings.getBOOL("LipSyncEnabled"); | ||
836 | 837 | ||
837 | mTuningMode = false; | 838 | mTuningMode = false; |
838 | mTuningEnergy = 0.0f; | 839 | mTuningEnergy = 0.0f; |
@@ -917,7 +918,7 @@ bool LLVoiceClient::writeString(const std::string &str) | |||
917 | apr_size_t size = (apr_size_t)str.size(); | 918 | apr_size_t size = (apr_size_t)str.size(); |
918 | apr_size_t written = size; | 919 | apr_size_t written = size; |
919 | 920 | ||
920 | // llinfos << "sending: " << str << llendl; | 921 | LL_DEBUGS("Voice") << "sending: " << str << LL_ENDL; |
921 | 922 | ||
922 | // MBW -- XXX -- check return code - sockets will fail (broken, etc.) | 923 | // MBW -- XXX -- check return code - sockets will fail (broken, etc.) |
923 | err = apr_socket_send( | 924 | err = apr_socket_send( |
@@ -940,7 +941,7 @@ bool LLVoiceClient::writeString(const std::string &str) | |||
940 | { | 941 | { |
941 | // Assume any socket error means something bad. For now, just close the socket. | 942 | // Assume any socket error means something bad. For now, just close the socket. |
942 | char buf[MAX_STRING]; | 943 | char buf[MAX_STRING]; |
943 | llwarns << "apr error " << err << " ("<< apr_strerror(err, buf, MAX_STRING) << ") sending data to vivox daemon." << llendl; | 944 | LL_WARNS("Voice") << "apr error " << err << " ("<< apr_strerror(err, buf, MAX_STRING) << ") sending data to vivox daemon." << LL_ENDL; |
944 | daemonDied(); | 945 | daemonDied(); |
945 | } | 946 | } |
946 | } | 947 | } |
@@ -964,7 +965,7 @@ void LLVoiceClient::connectorCreate() | |||
964 | 965 | ||
965 | if(savedLogLevel != "-1") | 966 | if(savedLogLevel != "-1") |
966 | { | 967 | { |
967 | llinfos << "creating connector with logging enabled" << llendl; | 968 | LL_DEBUGS("Voice") << "creating connector with logging enabled" << LL_ENDL; |
968 | loglevel = "10"; | 969 | loglevel = "10"; |
969 | logpath = gDirUtilp->getExpandedFilename(LL_PATH_LOGS, ""); | 970 | logpath = gDirUtilp->getExpandedFilename(LL_PATH_LOGS, ""); |
970 | } | 971 | } |
@@ -1013,15 +1014,9 @@ void LLVoiceClient::userAuthorized(const std::string& firstName, const std::stri | |||
1013 | mAccountDisplayName += " "; | 1014 | mAccountDisplayName += " "; |
1014 | mAccountDisplayName += lastName; | 1015 | mAccountDisplayName += lastName; |
1015 | 1016 | ||
1016 | llinfos << "name \"" << mAccountDisplayName << "\" , ID " << agentID << llendl; | 1017 | LL_INFOS("Voice") << "name \"" << mAccountDisplayName << "\" , ID " << agentID << LL_ENDL; |
1017 | 1018 | ||
1018 | std::string gridname = gGridName; | 1019 | sConnectingToAgni = LLViewerLogin::getInstance()->isInProductionGrid(); |
1019 | LLString::toLower(gridname); | ||
1020 | if((gGridChoice == GRID_INFO_AGNI) || | ||
1021 | ((gGridChoice == GRID_INFO_OTHER) && (gridname.find("agni") != std::string::npos))) | ||
1022 | { | ||
1023 | sConnectingToAgni = true; | ||
1024 | } | ||
1025 | 1020 | ||
1026 | // MBW -- XXX -- Enable this when the bhd.vivox.com server gets a real ssl cert. | 1021 | // MBW -- XXX -- Enable this when the bhd.vivox.com server gets a real ssl cert. |
1027 | if(sConnectingToAgni) | 1022 | if(sConnectingToAgni) |
@@ -1064,13 +1059,13 @@ void LLVoiceClient::login( | |||
1064 | if((getState() >= stateLoggingIn) && (getState() < stateLoggedOut)) | 1059 | if((getState() >= stateLoggingIn) && (getState() < stateLoggedOut)) |
1065 | { | 1060 | { |
1066 | // Already logged in. This is an internal error. | 1061 | // Already logged in. This is an internal error. |
1067 | llerrs << "called from wrong state." << llendl; | 1062 | LL_ERRS("Voice") << "Can't login again. Called from wrong state." << LL_ENDL; |
1068 | } | 1063 | } |
1069 | else if ( accountName != mAccountName ) | 1064 | else if ( accountName != mAccountName ) |
1070 | { | 1065 | { |
1071 | //TODO: error? | 1066 | //TODO: error? |
1072 | llinfos << "Wrong account name! " << accountName | 1067 | LL_WARNS("Voice") << "Wrong account name! " << accountName |
1073 | << " instead of " << mAccountName << llendl; | 1068 | << " instead of " << mAccountName << LL_ENDL; |
1074 | } | 1069 | } |
1075 | else | 1070 | else |
1076 | { | 1071 | { |
@@ -1166,7 +1161,7 @@ const char *LLVoiceClientStatusObserver::status2string(LLVoiceClientStatusObserv | |||
1166 | 1161 | ||
1167 | void LLVoiceClient::setState(state inState) | 1162 | void LLVoiceClient::setState(state inState) |
1168 | { | 1163 | { |
1169 | llinfos << "entering state " << state2string(inState) << llendl; | 1164 | LL_DEBUGS("Voice") << "entering state " << state2string(inState) << LL_ENDL; |
1170 | 1165 | ||
1171 | mState = inState; | 1166 | mState = inState; |
1172 | } | 1167 | } |
@@ -1187,7 +1182,7 @@ void LLVoiceClient::stateMachine() | |||
1187 | if(!mConnected) | 1182 | if(!mConnected) |
1188 | { | 1183 | { |
1189 | // if voice was turned off after the daemon was launched but before we could connect to it, we may need to issue a kill. | 1184 | // if voice was turned off after the daemon was launched but before we could connect to it, we may need to issue a kill. |
1190 | llinfos << "Disabling voice before connection to daemon, terminating." << llendl; | 1185 | LL_INFOS("Voice") << "Disabling voice before connection to daemon, terminating." << LL_ENDL; |
1191 | killGateway(); | 1186 | killGateway(); |
1192 | } | 1187 | } |
1193 | 1188 | ||
@@ -1212,7 +1207,7 @@ void LLVoiceClient::stateMachine() | |||
1212 | std::string regionName = region->getName(); | 1207 | std::string regionName = region->getName(); |
1213 | std::string capURI = region->getCapability("ParcelVoiceInfoRequest"); | 1208 | std::string capURI = region->getCapability("ParcelVoiceInfoRequest"); |
1214 | 1209 | ||
1215 | // llinfos << "Region name = \"" << regionName <<"\", " << "parcel local ID = " << parcelLocalID << llendl; | 1210 | LL_DEBUGS("Voice") << "Region name = \"" << regionName <<"\", " << "parcel local ID = " << parcelLocalID << LL_ENDL; |
1216 | 1211 | ||
1217 | // The region name starts out empty and gets filled in later. | 1212 | // The region name starts out empty and gets filled in later. |
1218 | // Also, the cap gets filled in a short time after the region cross, but a little too late for our purposes. | 1213 | // Also, the cap gets filled in a short time after the region cross, but a little too late for our purposes. |
@@ -1276,7 +1271,7 @@ void LLVoiceClient::stateMachine() | |||
1276 | args += " -ll "; | 1271 | args += " -ll "; |
1277 | args += loglevel; | 1272 | args += loglevel; |
1278 | 1273 | ||
1279 | // llinfos << "Args for SLVoice: " << args << llendl; | 1274 | LL_DEBUGS("Voice") << "Args for SLVoice: " << args << LL_ENDL; |
1280 | 1275 | ||
1281 | #if LL_WINDOWS | 1276 | #if LL_WINDOWS |
1282 | PROCESS_INFORMATION pinfo; | 1277 | PROCESS_INFORMATION pinfo; |
@@ -1348,7 +1343,7 @@ void LLVoiceClient::stateMachine() | |||
1348 | } | 1343 | } |
1349 | else | 1344 | else |
1350 | { | 1345 | { |
1351 | llinfos << exe_path << "not found." << llendl | 1346 | LL_INFOS("Voice") << exe_path << "not found." << LL_ENDL |
1352 | } | 1347 | } |
1353 | } | 1348 | } |
1354 | else | 1349 | else |
@@ -1375,7 +1370,7 @@ void LLVoiceClient::stateMachine() | |||
1375 | break; | 1370 | break; |
1376 | 1371 | ||
1377 | case stateDaemonLaunched: | 1372 | case stateDaemonLaunched: |
1378 | // llinfos << "Connecting to vivox daemon" << llendl; | 1373 | LL_DEBUGS("Voice") << "Connecting to vivox daemon" << LL_ENDL; |
1379 | if(mUpdateTimer.hasExpired()) | 1374 | if(mUpdateTimer.hasExpired()) |
1380 | { | 1375 | { |
1381 | mUpdateTimer.setTimerExpirySec(CONNECT_THROTTLE_SECONDS); | 1376 | mUpdateTimer.setTimerExpirySec(CONNECT_THROTTLE_SECONDS); |
@@ -1532,7 +1527,7 @@ void LLVoiceClient::stateMachine() | |||
1532 | 1527 | ||
1533 | if(mTuningMicVolumeDirty) | 1528 | if(mTuningMicVolumeDirty) |
1534 | { | 1529 | { |
1535 | llinfos << "setting tuning mic level to " << mTuningMicVolume << llendl; | 1530 | LL_INFOS("Voice") << "setting tuning mic level to " << mTuningMicVolume << LL_ENDL; |
1536 | stream | 1531 | stream |
1537 | << "<Request requestId=\"" << mCommandCookie++ << "\" action=\"Aux.SetMicLevel.1\">" | 1532 | << "<Request requestId=\"" << mCommandCookie++ << "\" action=\"Aux.SetMicLevel.1\">" |
1538 | << "<Level>" << mTuningMicVolume << "</Level>" | 1533 | << "<Level>" << mTuningMicVolume << "</Level>" |
@@ -1583,12 +1578,12 @@ void LLVoiceClient::stateMachine() | |||
1583 | 1578 | ||
1584 | if(mLoginRetryCount > MAX_LOGIN_RETRIES) | 1579 | if(mLoginRetryCount > MAX_LOGIN_RETRIES) |
1585 | { | 1580 | { |
1586 | llinfos << "too many login retries, giving up." << llendl; | 1581 | LL_WARNS("Voice") << "too many login retries, giving up." << LL_ENDL; |
1587 | setState(stateLoginFailed); | 1582 | setState(stateLoginFailed); |
1588 | } | 1583 | } |
1589 | else | 1584 | else |
1590 | { | 1585 | { |
1591 | llinfos << "will retry login in " << LOGIN_RETRY_SECONDS << " seconds." << llendl; | 1586 | LL_INFOS("Voice") << "will retry login in " << LOGIN_RETRY_SECONDS << " seconds." << LL_ENDL; |
1592 | mUpdateTimer.start(); | 1587 | mUpdateTimer.start(); |
1593 | mUpdateTimer.setTimerExpirySec(LOGIN_RETRY_SECONDS); | 1588 | mUpdateTimer.setTimerExpirySec(LOGIN_RETRY_SECONDS); |
1594 | setState(stateLoginRetryWait); | 1589 | setState(stateLoginRetryWait); |
@@ -1848,7 +1843,7 @@ void LLVoiceClient::stateMachine() | |||
1848 | 1843 | ||
1849 | case stateJoinSessionFailed: | 1844 | case stateJoinSessionFailed: |
1850 | // Transition to error state. Send out any notifications here. | 1845 | // Transition to error state. Send out any notifications here. |
1851 | llwarns << "stateJoinSessionFailed: (" << mVivoxErrorStatusCode << "): " << mVivoxErrorStatusString << llendl; | 1846 | LL_WARNS("Voice") << "stateJoinSessionFailed: (" << mVivoxErrorStatusCode << "): " << mVivoxErrorStatusString << LL_ENDL; |
1852 | notifyStatusObservers(LLVoiceClientStatusObserver::ERROR_UNKNOWN); | 1847 | notifyStatusObservers(LLVoiceClientStatusObserver::ERROR_UNKNOWN); |
1853 | setState(stateJoinSessionFailedWaiting); | 1848 | setState(stateJoinSessionFailedWaiting); |
1854 | break; | 1849 | break; |
@@ -1868,8 +1863,7 @@ void LLVoiceClient::stateMachine() | |||
1868 | 1863 | ||
1869 | case stateMicTuningNoLogin: | 1864 | case stateMicTuningNoLogin: |
1870 | // *TODO: Implement me. | 1865 | // *TODO: Implement me. |
1871 | llwarns << "stateMicTuningNoLogin not handled" | 1866 | LL_WARNS("Voice") << "stateMicTuningNoLogin not handled" << LL_ENDL; |
1872 | << llendl; | ||
1873 | break; | 1867 | break; |
1874 | } | 1868 | } |
1875 | 1869 | ||
@@ -1938,7 +1932,7 @@ void LLVoiceClient::channelGetListSendMessage() | |||
1938 | 1932 | ||
1939 | void LLVoiceClient::sessionCreateSendMessage() | 1933 | void LLVoiceClient::sessionCreateSendMessage() |
1940 | { | 1934 | { |
1941 | llinfos << "requesting join: " << mNextSessionURI << llendl; | 1935 | LL_DEBUGS("Voice") << "requesting join: " << mNextSessionURI << LL_ENDL; |
1942 | 1936 | ||
1943 | mSessionURI = mNextSessionURI; | 1937 | mSessionURI = mNextSessionURI; |
1944 | mNonSpatialChannel = !mNextSessionSpatial; | 1938 | mNonSpatialChannel = !mNextSessionSpatial; |
@@ -1978,7 +1972,7 @@ void LLVoiceClient::sessionCreateSendMessage() | |||
1978 | 1972 | ||
1979 | void LLVoiceClient::sessionConnectSendMessage() | 1973 | void LLVoiceClient::sessionConnectSendMessage() |
1980 | { | 1974 | { |
1981 | llinfos << "connecting to session handle: " << mNextSessionHandle << llendl; | 1975 | LL_DEBUGS("Voice") << "connecting to session handle: " << mNextSessionHandle << LL_ENDL; |
1982 | 1976 | ||
1983 | mSessionHandle = mNextSessionHandle; | 1977 | mSessionHandle = mNextSessionHandle; |
1984 | mSessionURI = mNextP2PSessionURI; | 1978 | mSessionURI = mNextP2PSessionURI; |
@@ -2007,7 +2001,7 @@ void LLVoiceClient::sessionTerminate() | |||
2007 | 2001 | ||
2008 | void LLVoiceClient::sessionTerminateSendMessage() | 2002 | void LLVoiceClient::sessionTerminateSendMessage() |
2009 | { | 2003 | { |
2010 | llinfos << "leaving session: " << mSessionURI << llendl; | 2004 | LL_DEBUGS("Voice") << "leaving session: " << mSessionURI << LL_ENDL; |
2011 | 2005 | ||
2012 | switch(getState()) | 2006 | switch(getState()) |
2013 | { | 2007 | { |
@@ -2026,7 +2020,7 @@ void LLVoiceClient::sessionTerminateSendMessage() | |||
2026 | } | 2020 | } |
2027 | else | 2021 | else |
2028 | { | 2022 | { |
2029 | llwarns << "called with no session handle" << llendl; | 2023 | LL_WARNS("Voice") << "called with no session handle" << LL_ENDL; |
2030 | setState(stateSessionTerminated); | 2024 | setState(stateSessionTerminated); |
2031 | } | 2025 | } |
2032 | break; | 2026 | break; |
@@ -2036,14 +2030,14 @@ void LLVoiceClient::sessionTerminateSendMessage() | |||
2036 | break; | 2030 | break; |
2037 | 2031 | ||
2038 | default: | 2032 | default: |
2039 | llwarns << "called from unknown state" << llendl; | 2033 | LL_WARNS("Voice") << "called from unknown state" << LL_ENDL; |
2040 | break; | 2034 | break; |
2041 | } | 2035 | } |
2042 | } | 2036 | } |
2043 | 2037 | ||
2044 | void LLVoiceClient::sessionTerminateByHandle(std::string &sessionHandle) | 2038 | void LLVoiceClient::sessionTerminateByHandle(std::string &sessionHandle) |
2045 | { | 2039 | { |
2046 | llinfos << "Sending Session.Terminate with handle " << sessionHandle << llendl; | 2040 | LL_DEBUGS("Voice") << "Sending Session.Terminate with handle " << sessionHandle << LL_ENDL; |
2047 | 2041 | ||
2048 | std::ostringstream stream; | 2042 | std::ostringstream stream; |
2049 | stream | 2043 | stream |
@@ -2078,14 +2072,14 @@ void LLVoiceClient::getRenderDevicesSendMessage() | |||
2078 | void LLVoiceClient::clearCaptureDevices() | 2072 | void LLVoiceClient::clearCaptureDevices() |
2079 | { | 2073 | { |
2080 | // MBW -- XXX -- do something here | 2074 | // MBW -- XXX -- do something here |
2081 | llinfos << "called" << llendl; | 2075 | LL_DEBUGS("Voice") << "called" << LL_ENDL; |
2082 | mCaptureDevices.clear(); | 2076 | mCaptureDevices.clear(); |
2083 | } | 2077 | } |
2084 | 2078 | ||
2085 | void LLVoiceClient::addCaptureDevice(const std::string& name) | 2079 | void LLVoiceClient::addCaptureDevice(const std::string& name) |
2086 | { | 2080 | { |
2087 | // MBW -- XXX -- do something here | 2081 | // MBW -- XXX -- do something here |
2088 | llinfos << name << llendl; | 2082 | LL_DEBUGS("Voice") << name << LL_ENDL; |
2089 | 2083 | ||
2090 | mCaptureDevices.push_back(name); | 2084 | mCaptureDevices.push_back(name); |
2091 | } | 2085 | } |
@@ -2118,14 +2112,14 @@ void LLVoiceClient::setCaptureDevice(const std::string& name) | |||
2118 | void LLVoiceClient::clearRenderDevices() | 2112 | void LLVoiceClient::clearRenderDevices() |
2119 | { | 2113 | { |
2120 | // MBW -- XXX -- do something here | 2114 | // MBW -- XXX -- do something here |
2121 | llinfos << "called" << llendl; | 2115 | LL_DEBUGS("Voice") << "called" << LL_ENDL; |
2122 | mRenderDevices.clear(); | 2116 | mRenderDevices.clear(); |
2123 | } | 2117 | } |
2124 | 2118 | ||
2125 | void LLVoiceClient::addRenderDevice(const std::string& name) | 2119 | void LLVoiceClient::addRenderDevice(const std::string& name) |
2126 | { | 2120 | { |
2127 | // MBW -- XXX -- do something here | 2121 | // MBW -- XXX -- do something here |
2128 | llinfos << name << llendl; | 2122 | LL_DEBUGS("Voice") << name << LL_ENDL; |
2129 | mRenderDevices.push_back(name); | 2123 | mRenderDevices.push_back(name); |
2130 | } | 2124 | } |
2131 | 2125 | ||
@@ -2209,7 +2203,7 @@ void LLVoiceClient::tuningRenderStopSendMessage() | |||
2209 | 2203 | ||
2210 | void LLVoiceClient::tuningCaptureStartSendMessage(int duration) | 2204 | void LLVoiceClient::tuningCaptureStartSendMessage(int duration) |
2211 | { | 2205 | { |
2212 | llinfos << "sending CaptureAudioStart" << llendl; | 2206 | LL_DEBUGS("Voice") << "sending CaptureAudioStart" << LL_ENDL; |
2213 | 2207 | ||
2214 | std::ostringstream stream; | 2208 | std::ostringstream stream; |
2215 | stream | 2209 | stream |
@@ -2222,7 +2216,7 @@ void LLVoiceClient::tuningCaptureStartSendMessage(int duration) | |||
2222 | 2216 | ||
2223 | void LLVoiceClient::tuningCaptureStopSendMessage() | 2217 | void LLVoiceClient::tuningCaptureStopSendMessage() |
2224 | { | 2218 | { |
2225 | llinfos << "sending CaptureAudioStop" << llendl; | 2219 | LL_DEBUGS("Voice") << "sending CaptureAudioStop" << LL_ENDL; |
2226 | 2220 | ||
2227 | std::ostringstream stream; | 2221 | std::ostringstream stream; |
2228 | stream | 2222 | stream |
@@ -2295,7 +2289,7 @@ void LLVoiceClient::refreshDeviceLists(bool clearCurrentList) | |||
2295 | void LLVoiceClient::daemonDied() | 2289 | void LLVoiceClient::daemonDied() |
2296 | { | 2290 | { |
2297 | // The daemon died, so the connection is gone. Reset everything and start over. | 2291 | // The daemon died, so the connection is gone. Reset everything and start over. |
2298 | llwarns << "Connection to vivox daemon lost. Resetting state."<< llendl; | 2292 | LL_WARNS("Voice") << "Connection to vivox daemon lost. Resetting state."<< LL_ENDL; |
2299 | 2293 | ||
2300 | closeSocket(); | 2294 | closeSocket(); |
2301 | removeAllParticipants(); | 2295 | removeAllParticipants(); |
@@ -2331,7 +2325,7 @@ void LLVoiceClient::sendPositionalUpdate(void) | |||
2331 | u = mAvatarRot.getUpRow(); | 2325 | u = mAvatarRot.getUpRow(); |
2332 | a = mAvatarRot.getFwdRow(); | 2326 | a = mAvatarRot.getFwdRow(); |
2333 | 2327 | ||
2334 | // llinfos << "Sending speaker position " << mSpeakerPosition << llendl; | 2328 | LL_DEBUGS("Voice") << "Sending speaker position " << mAvatarPosition << LL_ENDL; |
2335 | 2329 | ||
2336 | stream | 2330 | stream |
2337 | << "<Position>" | 2331 | << "<Position>" |
@@ -2394,7 +2388,7 @@ void LLVoiceClient::sendPositionalUpdate(void) | |||
2394 | u = earRot.getUpRow(); | 2388 | u = earRot.getUpRow(); |
2395 | a = earRot.getFwdRow(); | 2389 | a = earRot.getFwdRow(); |
2396 | 2390 | ||
2397 | // llinfos << "Sending listener position " << mListenerPosition << llendl; | 2391 | LL_DEBUGS("Voice") << "Sending listener position " << earPosition << LL_ENDL; |
2398 | 2392 | ||
2399 | stream | 2393 | stream |
2400 | << "<Position>" | 2394 | << "<Position>" |
@@ -2434,7 +2428,7 @@ void LLVoiceClient::sendPositionalUpdate(void) | |||
2434 | // NOTE that the state of "PTT" is the inverse of "local mute". | 2428 | // NOTE that the state of "PTT" is the inverse of "local mute". |
2435 | // (i.e. when PTT is true, we send a mute command with "false", and vice versa) | 2429 | // (i.e. when PTT is true, we send a mute command with "false", and vice versa) |
2436 | 2430 | ||
2437 | // llinfos << "Sending MuteLocalMic command with parameter " << (mPTT?"false":"true") << llendl; | 2431 | LL_DEBUGS("Voice") << "Sending MuteLocalMic command with parameter " << (mPTT?"false":"true") << LL_ENDL; |
2438 | 2432 | ||
2439 | stream << "<Request requestId=\"" << mCommandCookie++ << "\" action=\"Connector.MuteLocalMic.1\">" | 2433 | stream << "<Request requestId=\"" << mCommandCookie++ << "\" action=\"Connector.MuteLocalMic.1\">" |
2440 | << "<ConnectorHandle>" << mConnectorHandle << "</ConnectorHandle>" | 2434 | << "<ConnectorHandle>" << mConnectorHandle << "</ConnectorHandle>" |
@@ -2455,7 +2449,7 @@ void LLVoiceClient::sendPositionalUpdate(void) | |||
2455 | { | 2449 | { |
2456 | int volume = p->mOnMuteList?0:p->mUserVolume; | 2450 | int volume = p->mOnMuteList?0:p->mUserVolume; |
2457 | 2451 | ||
2458 | llinfos << "Setting volume for avatar " << p->mAvatarID << " to " << volume << llendl; | 2452 | LL_INFOS("Voice") << "Setting volume for avatar " << p->mAvatarID << " to " << volume << LL_ENDL; |
2459 | 2453 | ||
2460 | // Send a mute/unumte command for the user (actually "volume for me"). | 2454 | // Send a mute/unumte command for the user (actually "volume for me"). |
2461 | stream << "<Request requestId=\"" << mCommandCookie++ << "\" action=\"Session.SetParticipantVolumeForMe.1\">" | 2455 | stream << "<Request requestId=\"" << mCommandCookie++ << "\" action=\"Session.SetParticipantVolumeForMe.1\">" |
@@ -2472,7 +2466,7 @@ void LLVoiceClient::sendPositionalUpdate(void) | |||
2472 | if(mSpeakerMuteDirty) | 2466 | if(mSpeakerMuteDirty) |
2473 | { | 2467 | { |
2474 | const char *muteval = ((mSpeakerVolume == -100)?"true":"false"); | 2468 | const char *muteval = ((mSpeakerVolume == -100)?"true":"false"); |
2475 | llinfos << "Setting speaker mute to " << muteval << llendl; | 2469 | LL_INFOS("Voice") << "Setting speaker mute to " << muteval << LL_ENDL; |
2476 | 2470 | ||
2477 | stream << "<Request requestId=\"" << mCommandCookie++ << "\" action=\"Connector.MuteLocalSpeaker.1\">" | 2471 | stream << "<Request requestId=\"" << mCommandCookie++ << "\" action=\"Connector.MuteLocalSpeaker.1\">" |
2478 | << "<ConnectorHandle>" << mConnectorHandle << "</ConnectorHandle>" | 2472 | << "<ConnectorHandle>" << mConnectorHandle << "</ConnectorHandle>" |
@@ -2482,7 +2476,7 @@ void LLVoiceClient::sendPositionalUpdate(void) | |||
2482 | 2476 | ||
2483 | if(mSpeakerVolumeDirty) | 2477 | if(mSpeakerVolumeDirty) |
2484 | { | 2478 | { |
2485 | llinfos << "Setting speaker volume to " << mSpeakerVolume << llendl; | 2479 | LL_INFOS("Voice") << "Setting speaker volume to " << mSpeakerVolume << LL_ENDL; |
2486 | 2480 | ||
2487 | stream << "<Request requestId=\"" << mCommandCookie++ << "\" action=\"Connector.SetLocalSpeakerVolume.1\">" | 2481 | stream << "<Request requestId=\"" << mCommandCookie++ << "\" action=\"Connector.SetLocalSpeakerVolume.1\">" |
2488 | << "<ConnectorHandle>" << mConnectorHandle << "</ConnectorHandle>" | 2482 | << "<ConnectorHandle>" << mConnectorHandle << "</ConnectorHandle>" |
@@ -2492,7 +2486,7 @@ void LLVoiceClient::sendPositionalUpdate(void) | |||
2492 | 2486 | ||
2493 | if(mMicVolumeDirty) | 2487 | if(mMicVolumeDirty) |
2494 | { | 2488 | { |
2495 | llinfos << "Setting mic volume to " << mMicVolume << llendl; | 2489 | LL_INFOS("Voice") << "Setting mic volume to " << mMicVolume << LL_ENDL; |
2496 | 2490 | ||
2497 | stream << "<Request requestId=\"" << mCommandCookie++ << "\" action=\"Connector.SetLocalMicVolume.1\">" | 2491 | stream << "<Request requestId=\"" << mCommandCookie++ << "\" action=\"Connector.SetLocalMicVolume.1\">" |
2498 | << "<ConnectorHandle>" << mConnectorHandle << "</ConnectorHandle>" | 2492 | << "<ConnectorHandle>" << mConnectorHandle << "</ConnectorHandle>" |
@@ -2529,7 +2523,7 @@ void LLVoiceClient::sendPositionalUpdate(void) | |||
2529 | 2523 | ||
2530 | void LLVoiceClient::buildSetCaptureDevice(std::ostringstream &stream) | 2524 | void LLVoiceClient::buildSetCaptureDevice(std::ostringstream &stream) |
2531 | { | 2525 | { |
2532 | llinfos << "Setting input device = \"" << mCaptureDevice << "\"" << llendl; | 2526 | LL_DEBUGS("Voice") << "Setting input device = \"" << mCaptureDevice << "\"" << LL_ENDL; |
2533 | 2527 | ||
2534 | stream | 2528 | stream |
2535 | << "<Request requestId=\"" << mCommandCookie++ << "\" action=\"Aux.SetCaptureDevice.1\">" | 2529 | << "<Request requestId=\"" << mCommandCookie++ << "\" action=\"Aux.SetCaptureDevice.1\">" |
@@ -2540,7 +2534,7 @@ void LLVoiceClient::buildSetCaptureDevice(std::ostringstream &stream) | |||
2540 | 2534 | ||
2541 | void LLVoiceClient::buildSetRenderDevice(std::ostringstream &stream) | 2535 | void LLVoiceClient::buildSetRenderDevice(std::ostringstream &stream) |
2542 | { | 2536 | { |
2543 | llinfos << "Setting output device = \"" << mRenderDevice << "\"" << llendl; | 2537 | LL_DEBUGS("Voice") << "Setting output device = \"" << mRenderDevice << "\"" << LL_ENDL; |
2544 | 2538 | ||
2545 | stream | 2539 | stream |
2546 | << "<Request requestId=\"" << mCommandCookie++ << "\" action=\"Aux.SetRenderDevice.1\">" | 2540 | << "<Request requestId=\"" << mCommandCookie++ << "\" action=\"Aux.SetRenderDevice.1\">" |
@@ -2556,7 +2550,7 @@ void LLVoiceClient::connectorCreateResponse(int statusCode, std::string &statusS | |||
2556 | { | 2550 | { |
2557 | if(statusCode != 0) | 2551 | if(statusCode != 0) |
2558 | { | 2552 | { |
2559 | llwarns << "Connector.Create response failure: " << statusString << llendl; | 2553 | LL_WARNS("Voice") << "Connector.Create response failure: " << statusString << LL_ENDL; |
2560 | setState(stateConnectorFailed); | 2554 | setState(stateConnectorFailed); |
2561 | } | 2555 | } |
2562 | else | 2556 | else |
@@ -2572,19 +2566,19 @@ void LLVoiceClient::connectorCreateResponse(int statusCode, std::string &statusS | |||
2572 | 2566 | ||
2573 | void LLVoiceClient::loginResponse(int statusCode, std::string &statusString, std::string &accountHandle) | 2567 | void LLVoiceClient::loginResponse(int statusCode, std::string &statusString, std::string &accountHandle) |
2574 | { | 2568 | { |
2575 | llinfos << "Account.Login response (" << statusCode << "): " << statusString << llendl; | 2569 | LL_DEBUGS("Voice") << "Account.Login response (" << statusCode << "): " << statusString << LL_ENDL; |
2576 | 2570 | ||
2577 | // Status code of 20200 means "bad password". We may want to special-case that at some point. | 2571 | // Status code of 20200 means "bad password". We may want to special-case that at some point. |
2578 | 2572 | ||
2579 | if ( statusCode == 401 ) | 2573 | if ( statusCode == 401 ) |
2580 | { | 2574 | { |
2581 | // Login failure which is probably caused by the delay after a user's password being updated. | 2575 | // Login failure which is probably caused by the delay after a user's password being updated. |
2582 | llinfos << "Account.Login response failure (" << statusCode << "): " << statusString << llendl; | 2576 | LL_INFOS("Voice") << "Account.Login response failure (" << statusCode << "): " << statusString << LL_ENDL; |
2583 | setState(stateLoginRetry); | 2577 | setState(stateLoginRetry); |
2584 | } | 2578 | } |
2585 | else if(statusCode != 0) | 2579 | else if(statusCode != 0) |
2586 | { | 2580 | { |
2587 | llwarns << "Account.Login response failure (" << statusCode << "): " << statusString << llendl; | 2581 | LL_WARNS("Voice") << "Account.Login response failure (" << statusCode << "): " << statusString << LL_ENDL; |
2588 | setState(stateLoginFailed); | 2582 | setState(stateLoginFailed); |
2589 | } | 2583 | } |
2590 | else | 2584 | else |
@@ -2603,7 +2597,7 @@ void LLVoiceClient::channelGetListResponse(int statusCode, std::string &statusSt | |||
2603 | { | 2597 | { |
2604 | if(statusCode != 0) | 2598 | if(statusCode != 0) |
2605 | { | 2599 | { |
2606 | llwarns << "Account.ChannelGetList response failure: " << statusString << llendl; | 2600 | LL_WARNS("Voice") << "Account.ChannelGetList response failure: " << statusString << LL_ENDL; |
2607 | switchChannel(); | 2601 | switchChannel(); |
2608 | } | 2602 | } |
2609 | else | 2603 | else |
@@ -2613,12 +2607,12 @@ void LLVoiceClient::channelGetListResponse(int statusCode, std::string &statusSt | |||
2613 | if(uri.empty()) | 2607 | if(uri.empty()) |
2614 | { | 2608 | { |
2615 | // Lookup failed, can't join a channel for this area. | 2609 | // Lookup failed, can't join a channel for this area. |
2616 | llinfos << "failed to map channel name: " << mChannelName << llendl; | 2610 | LL_INFOS("Voice") << "failed to map channel name: " << mChannelName << LL_ENDL; |
2617 | } | 2611 | } |
2618 | else | 2612 | else |
2619 | { | 2613 | { |
2620 | // We have a sip URL for this area. | 2614 | // We have a sip URL for this area. |
2621 | llinfos << "mapped channel " << mChannelName << " to URI "<< uri << llendl; | 2615 | LL_INFOS("Voice") << "mapped channel " << mChannelName << " to URI "<< uri << LL_ENDL; |
2622 | } | 2616 | } |
2623 | 2617 | ||
2624 | // switchChannel with an empty uri string will do the right thing (leave channel and not rejoin) | 2618 | // switchChannel with an empty uri string will do the right thing (leave channel and not rejoin) |
@@ -2630,13 +2624,13 @@ void LLVoiceClient::sessionCreateResponse(int statusCode, std::string &statusStr | |||
2630 | { | 2624 | { |
2631 | if(statusCode != 0) | 2625 | if(statusCode != 0) |
2632 | { | 2626 | { |
2633 | llwarns << "Session.Create response failure (" << statusCode << "): " << statusString << llendl; | 2627 | LL_WARNS("Voice") << "Session.Create response failure (" << statusCode << "): " << statusString << LL_ENDL; |
2634 | // if(statusCode == 1015) | 2628 | // if(statusCode == 1015) |
2635 | // { | 2629 | // { |
2636 | // if(getState() == stateJoiningSession) | 2630 | // if(getState() == stateJoiningSession) |
2637 | // { | 2631 | // { |
2638 | // // this happened during a real join. Going to sessionTerminated should cause a retry in appropriate cases. | 2632 | // // this happened during a real join. Going to sessionTerminated should cause a retry in appropriate cases. |
2639 | // llwarns << "session handle \"" << sessionHandle << "\", mSessionStateEventHandle \"" << mSessionStateEventHandle << "\""<< llendl; | 2633 | // LL_WARNS("Voice") << "session handle \"" << sessionHandle << "\", mSessionStateEventHandle \"" << mSessionStateEventHandle << "\""<< LL_ENDL; |
2640 | // if(!sessionHandle.empty()) | 2634 | // if(!sessionHandle.empty()) |
2641 | // { | 2635 | // { |
2642 | // // This session is bad. Terminate it. | 2636 | // // This session is bad. Terminate it. |
@@ -2658,7 +2652,7 @@ void LLVoiceClient::sessionCreateResponse(int statusCode, std::string &statusStr | |||
2658 | // else | 2652 | // else |
2659 | // { | 2653 | // { |
2660 | // // We didn't think we were in the middle of a join. Don't change state. | 2654 | // // We didn't think we were in the middle of a join. Don't change state. |
2661 | // llwarns << "Not in stateJoiningSession, ignoring" << llendl; | 2655 | // LL_WARNS("Voice") << "Not in stateJoiningSession, ignoring" << LL_ENDL; |
2662 | // } | 2656 | // } |
2663 | // } | 2657 | // } |
2664 | // else | 2658 | // else |
@@ -2670,7 +2664,7 @@ void LLVoiceClient::sessionCreateResponse(int statusCode, std::string &statusStr | |||
2670 | } | 2664 | } |
2671 | else | 2665 | else |
2672 | { | 2666 | { |
2673 | llinfos << "Session.Create response received (success), session handle is " << sessionHandle << llendl; | 2667 | LL_DEBUGS("Voice") << "Session.Create response received (success), session handle is " << sessionHandle << LL_ENDL; |
2674 | if(getState() == stateJoiningSession) | 2668 | if(getState() == stateJoiningSession) |
2675 | { | 2669 | { |
2676 | // This is also grabbed in the SessionStateChangeEvent handler, but it might be useful to have it early... | 2670 | // This is also grabbed in the SessionStateChangeEvent handler, but it might be useful to have it early... |
@@ -2688,10 +2682,10 @@ void LLVoiceClient::sessionConnectResponse(int statusCode, std::string &statusSt | |||
2688 | { | 2682 | { |
2689 | if(statusCode != 0) | 2683 | if(statusCode != 0) |
2690 | { | 2684 | { |
2691 | llwarns << "Session.Connect response failure (" << statusCode << "): " << statusString << llendl; | 2685 | LL_WARNS("Voice") << "Session.Connect response failure (" << statusCode << "): " << statusString << LL_ENDL; |
2692 | // if(statusCode == 1015) | 2686 | // if(statusCode == 1015) |
2693 | // { | 2687 | // { |
2694 | // llwarns << "terminating existing session" << llendl; | 2688 | // LL_WARNS("Voice") << "terminating existing session" << LL_ENDL; |
2695 | // sessionTerminate(); | 2689 | // sessionTerminate(); |
2696 | // } | 2690 | // } |
2697 | // else | 2691 | // else |
@@ -2703,7 +2697,7 @@ void LLVoiceClient::sessionConnectResponse(int statusCode, std::string &statusSt | |||
2703 | } | 2697 | } |
2704 | else | 2698 | else |
2705 | { | 2699 | { |
2706 | llinfos << "Session.Connect response received (success)" << llendl; | 2700 | LL_DEBUGS("Voice") << "Session.Connect response received (success)" << LL_ENDL; |
2707 | } | 2701 | } |
2708 | } | 2702 | } |
2709 | 2703 | ||
@@ -2711,7 +2705,7 @@ void LLVoiceClient::sessionTerminateResponse(int statusCode, std::string &status | |||
2711 | { | 2705 | { |
2712 | if(statusCode != 0) | 2706 | if(statusCode != 0) |
2713 | { | 2707 | { |
2714 | llwarns << "Session.Terminate response failure: (" << statusCode << "): " << statusString << llendl; | 2708 | LL_WARNS("Voice") << "Session.Terminate response failure: (" << statusCode << "): " << statusString << LL_ENDL; |
2715 | if(getState() == stateLeavingSession) | 2709 | if(getState() == stateLeavingSession) |
2716 | { | 2710 | { |
2717 | // This is probably "(404): Server reporting Failure. Not a member of this conference." | 2711 | // This is probably "(404): Server reporting Failure. Not a member of this conference." |
@@ -2726,7 +2720,7 @@ void LLVoiceClient::logoutResponse(int statusCode, std::string &statusString) | |||
2726 | { | 2720 | { |
2727 | if(statusCode != 0) | 2721 | if(statusCode != 0) |
2728 | { | 2722 | { |
2729 | llwarns << "Account.Logout response failure: " << statusString << llendl; | 2723 | LL_WARNS("Voice") << "Account.Logout response failure: " << statusString << LL_ENDL; |
2730 | // MBW -- XXX -- Should this ever fail? do we care if it does? | 2724 | // MBW -- XXX -- Should this ever fail? do we care if it does? |
2731 | } | 2725 | } |
2732 | 2726 | ||
@@ -2740,7 +2734,7 @@ void LLVoiceClient::connectorShutdownResponse(int statusCode, std::string &statu | |||
2740 | { | 2734 | { |
2741 | if(statusCode != 0) | 2735 | if(statusCode != 0) |
2742 | { | 2736 | { |
2743 | llwarns << "Connector.InitiateShutdown response failure: " << statusString << llendl; | 2737 | LL_WARNS("Voice") << "Connector.InitiateShutdown response failure: " << statusString << LL_ENDL; |
2744 | // MBW -- XXX -- Should this ever fail? do we care if it does? | 2738 | // MBW -- XXX -- Should this ever fail? do we care if it does? |
2745 | } | 2739 | } |
2746 | 2740 | ||
@@ -2764,7 +2758,7 @@ void LLVoiceClient::sessionStateChangeEvent( | |||
2764 | switch(state) | 2758 | switch(state) |
2765 | { | 2759 | { |
2766 | case 4: // I see this when joining the session | 2760 | case 4: // I see this when joining the session |
2767 | llinfos << "joined session " << uriString << ", name " << nameString << " handle " << mNextSessionHandle << llendl; | 2761 | LL_INFOS("Voice") << "joined session " << uriString << ", name " << nameString << " handle " << mNextSessionHandle << LL_ENDL; |
2768 | 2762 | ||
2769 | // Session create succeeded, move forward. | 2763 | // Session create succeeded, move forward. |
2770 | mSessionStateEventHandle = sessionHandle; | 2764 | mSessionStateEventHandle = sessionHandle; |
@@ -2777,23 +2771,23 @@ void LLVoiceClient::sessionStateChangeEvent( | |||
2777 | setState(stateSessionJoined); | 2771 | setState(stateSessionJoined); |
2778 | //RN: the uriString being returned by vivox here is actually your account uri, not the channel | 2772 | //RN: the uriString being returned by vivox here is actually your account uri, not the channel |
2779 | // you are attempting to join, so ignore it | 2773 | // you are attempting to join, so ignore it |
2780 | //llinfos << "received URI " << uriString << "(previously " << mSessionURI << ")" << llendl; | 2774 | //LL_DEBUGS("Voice") << "received URI " << uriString << "(previously " << mSessionURI << ")" << LL_ENDL; |
2781 | //mSessionURI = uriString; | 2775 | //mSessionURI = uriString; |
2782 | } | 2776 | } |
2783 | } | 2777 | } |
2784 | else if(sessionHandle == mNextSessionHandle) | 2778 | else if(sessionHandle == mNextSessionHandle) |
2785 | { | 2779 | { |
2786 | // llinfos << "received URI " << uriString << ", name " << nameString << " for next session (handle " << mNextSessionHandle << ")" << llendl; | 2780 | // LL_DEBUGS("Voice") << "received URI " << uriString << ", name " << nameString << " for next session (handle " << mNextSessionHandle << ")" << LL_ENDL; |
2787 | } | 2781 | } |
2788 | else | 2782 | else |
2789 | { | 2783 | { |
2790 | llwarns << "joining unknown session handle " << sessionHandle << ", URI " << uriString << ", name " << nameString << llendl; | 2784 | LL_WARNS("Voice") << "joining unknown session handle " << sessionHandle << ", URI " << uriString << ", name " << nameString << LL_ENDL; |
2791 | // MBW -- XXX -- Should we send a Session.Terminate here? | 2785 | // MBW -- XXX -- Should we send a Session.Terminate here? |
2792 | } | 2786 | } |
2793 | 2787 | ||
2794 | break; | 2788 | break; |
2795 | case 5: // I see this when leaving the session | 2789 | case 5: // I see this when leaving the session |
2796 | llinfos << "left session " << uriString << ", name " << nameString << " handle " << mNextSessionHandle << llendl; | 2790 | LL_INFOS("Voice") << "left session " << uriString << ", name " << nameString << " handle " << mNextSessionHandle << LL_ENDL; |
2797 | 2791 | ||
2798 | // Set the session handle to the empty string. If we get back to stateJoiningSession, we'll want to wait for the new session handle. | 2792 | // Set the session handle to the empty string. If we get back to stateJoiningSession, we'll want to wait for the new session handle. |
2799 | if(sessionHandle == mSessionHandle) | 2793 | if(sessionHandle == mSessionHandle) |
@@ -2821,17 +2815,17 @@ void LLVoiceClient::sessionStateChangeEvent( | |||
2821 | case stateJoinSessionFailed: | 2815 | case stateJoinSessionFailed: |
2822 | case stateJoinSessionFailedWaiting: | 2816 | case stateJoinSessionFailedWaiting: |
2823 | // normal transition | 2817 | // normal transition |
2824 | llinfos << "left session " << sessionHandle << "in state " << state2string(getState()) << llendl; | 2818 | LL_INFOS("Voice") << "left session " << sessionHandle << "in state " << state2string(getState()) << LL_ENDL; |
2825 | setState(stateSessionTerminated); | 2819 | setState(stateSessionTerminated); |
2826 | break; | 2820 | break; |
2827 | 2821 | ||
2828 | case stateSessionTerminated: | 2822 | case stateSessionTerminated: |
2829 | // this will happen sometimes -- there are cases where we send the terminate and then go straight to this state. | 2823 | // this will happen sometimes -- there are cases where we send the terminate and then go straight to this state. |
2830 | llwarns << "left session " << sessionHandle << "in state " << state2string(getState()) << llendl; | 2824 | LL_WARNS("Voice") << "left session " << sessionHandle << "in state " << state2string(getState()) << LL_ENDL; |
2831 | break; | 2825 | break; |
2832 | 2826 | ||
2833 | default: | 2827 | default: |
2834 | llwarns << "unexpected SessionStateChangeEvent (left session) in state " << state2string(getState()) << llendl; | 2828 | LL_WARNS("Voice") << "unexpected SessionStateChangeEvent (left session) in state " << state2string(getState()) << LL_ENDL; |
2835 | setState(stateSessionTerminated); | 2829 | setState(stateSessionTerminated); |
2836 | break; | 2830 | break; |
2837 | } | 2831 | } |
@@ -2842,14 +2836,14 @@ void LLVoiceClient::sessionStateChangeEvent( | |||
2842 | } | 2836 | } |
2843 | else | 2837 | else |
2844 | { | 2838 | { |
2845 | llinfos << "leaving unknown session handle " << sessionHandle << ", URI " << uriString << ", name " << nameString << llendl; | 2839 | LL_INFOS("Voice") << "leaving unknown session handle " << sessionHandle << ", URI " << uriString << ", name " << nameString << LL_ENDL; |
2846 | } | 2840 | } |
2847 | 2841 | ||
2848 | mSessionStateEventHandle.clear(); | 2842 | mSessionStateEventHandle.clear(); |
2849 | mSessionStateEventURI.clear(); | 2843 | mSessionStateEventURI.clear(); |
2850 | break; | 2844 | break; |
2851 | default: | 2845 | default: |
2852 | llwarns << "unknown state: " << state << llendl; | 2846 | LL_WARNS("Voice") << "unknown state: " << state << LL_ENDL; |
2853 | break; | 2847 | break; |
2854 | } | 2848 | } |
2855 | } | 2849 | } |
@@ -2860,7 +2854,7 @@ void LLVoiceClient::loginStateChangeEvent( | |||
2860 | std::string &statusString, | 2854 | std::string &statusString, |
2861 | int state) | 2855 | int state) |
2862 | { | 2856 | { |
2863 | llinfos << "state is " << state << llendl; | 2857 | LL_DEBUGS("Voice") << "state is " << state << LL_ENDL; |
2864 | /* | 2858 | /* |
2865 | According to Mike S., status codes for this event are: | 2859 | According to Mike S., status codes for this event are: |
2866 | login_state_logged_out=0, | 2860 | login_state_logged_out=0, |
@@ -2881,7 +2875,8 @@ void LLVoiceClient::loginStateChangeEvent( | |||
2881 | break; | 2875 | break; |
2882 | 2876 | ||
2883 | default: | 2877 | default: |
2884 | // llwarns << "unknown state: " << state << llendl; | 2878 | //Used to be a commented out warning |
2879 | LL_DEBUGS("Voice") << "unknown state: " << state << LL_ENDL; | ||
2885 | break; | 2880 | break; |
2886 | } | 2881 | } |
2887 | } | 2882 | } |
@@ -2893,13 +2888,13 @@ void LLVoiceClient::sessionNewEvent( | |||
2893 | std::string &nameString, | 2888 | std::string &nameString, |
2894 | std::string &uriString) | 2889 | std::string &uriString) |
2895 | { | 2890 | { |
2896 | // llinfos << "state is " << state << llendl; | 2891 | LL_DEBUGS("Voice") << "state is " << state << LL_ENDL; |
2897 | 2892 | ||
2898 | switch(state) | 2893 | switch(state) |
2899 | { | 2894 | { |
2900 | case 0: | 2895 | case 0: |
2901 | { | 2896 | { |
2902 | llinfos << "session handle = " << eventSessionHandle << ", name = " << nameString << ", uri = " << uriString << llendl; | 2897 | LL_DEBUGS("Voice") << "session handle = " << eventSessionHandle << ", name = " << nameString << ", uri = " << uriString << LL_ENDL; |
2903 | 2898 | ||
2904 | LLUUID caller_id; | 2899 | LLUUID caller_id; |
2905 | if(IDFromName(nameString, caller_id)) | 2900 | if(IDFromName(nameString, caller_id)) |
@@ -2917,13 +2912,13 @@ void LLVoiceClient::sessionNewEvent( | |||
2917 | } | 2912 | } |
2918 | else | 2913 | else |
2919 | { | 2914 | { |
2920 | llwarns << "Could not generate caller id from uri " << uriString << llendl; | 2915 | LL_WARNS("Voice") << "Could not generate caller id from uri " << uriString << LL_ENDL; |
2921 | } | 2916 | } |
2922 | } | 2917 | } |
2923 | break; | 2918 | break; |
2924 | 2919 | ||
2925 | default: | 2920 | default: |
2926 | llwarns << "unknown state: " << state << llendl; | 2921 | LL_WARNS("Voice") << "unknown state: " << state << LL_ENDL; |
2927 | break; | 2922 | break; |
2928 | } | 2923 | } |
2929 | } | 2924 | } |
@@ -2938,7 +2933,7 @@ void LLVoiceClient::participantStateChangeEvent( | |||
2938 | int participantType) | 2933 | int participantType) |
2939 | { | 2934 | { |
2940 | participantState *participant = NULL; | 2935 | participantState *participant = NULL; |
2941 | llinfos << "state is " << state << llendl; | 2936 | LL_DEBUGS("Voice") << "state is " << state << LL_ENDL; |
2942 | 2937 | ||
2943 | switch(state) | 2938 | switch(state) |
2944 | { | 2939 | { |
@@ -2947,8 +2942,8 @@ void LLVoiceClient::participantStateChangeEvent( | |||
2947 | if(participant) | 2942 | if(participant) |
2948 | { | 2943 | { |
2949 | participant->mName = nameString; | 2944 | participant->mName = nameString; |
2950 | llinfos << "added participant \"" << participant->mName | 2945 | LL_DEBUGS("Voice") << "added participant \"" << participant->mName |
2951 | << "\" (" << participant->mAvatarID << ")"<< llendl; | 2946 | << "\" (" << participant->mAvatarID << ")"<< LL_ENDL; |
2952 | } | 2947 | } |
2953 | break; | 2948 | break; |
2954 | case 9: // I see this when a participant leaves | 2949 | case 9: // I see this when a participant leaves |
@@ -2959,7 +2954,7 @@ void LLVoiceClient::participantStateChangeEvent( | |||
2959 | } | 2954 | } |
2960 | break; | 2955 | break; |
2961 | default: | 2956 | default: |
2962 | // llwarns << "unknown state: " << state << llendl; | 2957 | LL_DEBUGS("Voice") << "unknown state: " << state << LL_ENDL; |
2963 | break; | 2958 | break; |
2964 | } | 2959 | } |
2965 | } | 2960 | } |
@@ -2989,13 +2984,13 @@ void LLVoiceClient::participantPropertiesEvent( | |||
2989 | } | 2984 | } |
2990 | else | 2985 | else |
2991 | { | 2986 | { |
2992 | llwarns << "unknown participant: " << uriString << llendl; | 2987 | LL_WARNS("Voice") << "unknown participant: " << uriString << LL_ENDL; |
2993 | } | 2988 | } |
2994 | } | 2989 | } |
2995 | 2990 | ||
2996 | void LLVoiceClient::auxAudioPropertiesEvent(F32 energy) | 2991 | void LLVoiceClient::auxAudioPropertiesEvent(F32 energy) |
2997 | { | 2992 | { |
2998 | // llinfos << "got energy " << energy << llendl; | 2993 | LL_DEBUGS("Voice") << "got energy " << energy << LL_ENDL; |
2999 | mTuningEnergy = energy; | 2994 | mTuningEnergy = energy; |
3000 | } | 2995 | } |
3001 | 2996 | ||
@@ -3053,7 +3048,7 @@ LLVoiceClient::participantState *LLVoiceClient::addParticipant(const std::string | |||
3053 | } | 3048 | } |
3054 | } | 3049 | } |
3055 | 3050 | ||
3056 | llinfos << "participant \"" << result->mURI << "\" added." << llendl; | 3051 | LL_DEBUGS("Voice") << "participant \"" << result->mURI << "\" added." << LL_ENDL; |
3057 | } | 3052 | } |
3058 | 3053 | ||
3059 | return result; | 3054 | return result; |
@@ -3079,7 +3074,7 @@ void LLVoiceClient::removeParticipant(LLVoiceClient::participantState *participa | |||
3079 | { | 3074 | { |
3080 | participantMap::iterator iter = mParticipantMap.find(participant->mURI); | 3075 | participantMap::iterator iter = mParticipantMap.find(participant->mURI); |
3081 | 3076 | ||
3082 | llinfos << "participant \"" << participant->mURI << "\" (" << participant->mAvatarID << ") removed." << llendl; | 3077 | LL_DEBUGS("Voice") << "participant \"" << participant->mURI << "\" (" << participant->mAvatarID << ") removed." << LL_ENDL; |
3083 | 3078 | ||
3084 | mParticipantMap.erase(iter); | 3079 | mParticipantMap.erase(iter); |
3085 | delete participant; | 3080 | delete participant; |
@@ -3089,7 +3084,7 @@ void LLVoiceClient::removeParticipant(LLVoiceClient::participantState *participa | |||
3089 | 3084 | ||
3090 | void LLVoiceClient::removeAllParticipants() | 3085 | void LLVoiceClient::removeAllParticipants() |
3091 | { | 3086 | { |
3092 | llinfos << "called" << llendl; | 3087 | LL_DEBUGS("Voice") << "called" << LL_ENDL; |
3093 | 3088 | ||
3094 | while(!mParticipantMap.empty()) | 3089 | while(!mParticipantMap.empty()) |
3095 | { | 3090 | { |
@@ -3172,7 +3167,7 @@ void LLVoiceClient::clearChannelMap(void) | |||
3172 | 3167 | ||
3173 | void LLVoiceClient::addChannelMapEntry(std::string &name, std::string &uri) | 3168 | void LLVoiceClient::addChannelMapEntry(std::string &name, std::string &uri) |
3174 | { | 3169 | { |
3175 | // llinfos << "Adding channel name mapping: " << name << " -> " << uri << llendl; | 3170 | LL_DEBUGS("Voice") << "Adding channel name mapping: " << name << " -> " << uri << LL_ENDL; |
3176 | mChannelMap.insert(channelMap::value_type(name, uri)); | 3171 | mChannelMap.insert(channelMap::value_type(name, uri)); |
3177 | } | 3172 | } |
3178 | 3173 | ||
@@ -3195,7 +3190,7 @@ void LLVoiceClient::parcelChanged() | |||
3195 | if(getState() >= stateLoggedIn) | 3190 | if(getState() >= stateLoggedIn) |
3196 | { | 3191 | { |
3197 | // If the user is logged in, start a channel lookup. | 3192 | // If the user is logged in, start a channel lookup. |
3198 | llinfos << "sending ParcelVoiceInfoRequest (" << mCurrentRegionName << ", " << mCurrentParcelLocalID << ")" << llendl; | 3193 | LL_DEBUGS("Voice") << "sending ParcelVoiceInfoRequest (" << mCurrentRegionName << ", " << mCurrentParcelLocalID << ")" << LL_ENDL; |
3199 | 3194 | ||
3200 | std::string url = gAgent.getRegion()->getCapability("ParcelVoiceInfoRequest"); | 3195 | std::string url = gAgent.getRegion()->getCapability("ParcelVoiceInfoRequest"); |
3201 | LLSD data; | 3196 | LLSD data; |
@@ -3207,7 +3202,7 @@ void LLVoiceClient::parcelChanged() | |||
3207 | else | 3202 | else |
3208 | { | 3203 | { |
3209 | // The transition to stateLoggedIn needs to kick this off again. | 3204 | // The transition to stateLoggedIn needs to kick this off again. |
3210 | llinfos << "not logged in yet, deferring" << llendl; | 3205 | LL_INFOS("Voice") << "not logged in yet, deferring" << LL_ENDL; |
3211 | } | 3206 | } |
3212 | } | 3207 | } |
3213 | 3208 | ||
@@ -3219,7 +3214,7 @@ void LLVoiceClient::switchChannel( | |||
3219 | { | 3214 | { |
3220 | bool needsSwitch = false; | 3215 | bool needsSwitch = false; |
3221 | 3216 | ||
3222 | llinfos << "called in state " << state2string(getState()) << " with uri \"" << uri << "\"" << llendl; | 3217 | LL_DEBUGS("Voice") << "called in state " << state2string(getState()) << " with uri \"" << uri << "\"" << LL_ENDL; |
3223 | 3218 | ||
3224 | switch(getState()) | 3219 | switch(getState()) |
3225 | { | 3220 | { |
@@ -3258,12 +3253,12 @@ void LLVoiceClient::switchChannel( | |||
3258 | if(uri.empty()) | 3253 | if(uri.empty()) |
3259 | { | 3254 | { |
3260 | // Leave any channel we may be in | 3255 | // Leave any channel we may be in |
3261 | llinfos << "leaving channel" << llendl; | 3256 | LL_DEBUGS("Voice") << "leaving channel" << LL_ENDL; |
3262 | notifyStatusObservers(LLVoiceClientStatusObserver::STATUS_VOICE_DISABLED); | 3257 | notifyStatusObservers(LLVoiceClientStatusObserver::STATUS_VOICE_DISABLED); |
3263 | } | 3258 | } |
3264 | else | 3259 | else |
3265 | { | 3260 | { |
3266 | llinfos << "switching to channel " << uri << llendl; | 3261 | LL_DEBUGS("Voice") << "switching to channel " << uri << LL_ENDL; |
3267 | } | 3262 | } |
3268 | 3263 | ||
3269 | if(getState() <= stateNoChannel) | 3264 | if(getState() <= stateNoChannel) |
@@ -3312,12 +3307,12 @@ void LLVoiceClient::setSpatialChannel( | |||
3312 | mSpatialSessionURI = uri; | 3307 | mSpatialSessionURI = uri; |
3313 | mAreaVoiceDisabled = mSpatialSessionURI.empty(); | 3308 | mAreaVoiceDisabled = mSpatialSessionURI.empty(); |
3314 | 3309 | ||
3315 | llinfos << "got spatial channel uri: \"" << uri << "\"" << llendl; | 3310 | LL_DEBUGS("Voice") << "got spatial channel uri: \"" << uri << "\"" << LL_ENDL; |
3316 | 3311 | ||
3317 | if(mNonSpatialChannel || !mNextSessionSpatial) | 3312 | if(mNonSpatialChannel || !mNextSessionSpatial) |
3318 | { | 3313 | { |
3319 | // User is in a non-spatial chat or joining a non-spatial chat. Don't switch channels. | 3314 | // User is in a non-spatial chat or joining a non-spatial chat. Don't switch channels. |
3320 | llinfos << "in non-spatial chat, not switching channels" << llendl; | 3315 | LL_INFOS("Voice") << "in non-spatial chat, not switching channels" << LL_ENDL; |
3321 | } | 3316 | } |
3322 | else | 3317 | else |
3323 | { | 3318 | { |
@@ -3559,7 +3554,7 @@ void LLVoiceClient::leaveChannel(void) | |||
3559 | { | 3554 | { |
3560 | if(getState() == stateRunning) | 3555 | if(getState() == stateRunning) |
3561 | { | 3556 | { |
3562 | // llinfos << "leaving channel for teleport/logout" << llendl; | 3557 | LL_DEBUGS("Voice") << "leaving channel for teleport/logout" << LL_ENDL; |
3563 | mChannelName.clear(); | 3558 | mChannelName.clear(); |
3564 | sessionTerminate(); | 3559 | sessionTerminate(); |
3565 | } | 3560 | } |
@@ -3607,6 +3602,24 @@ bool LLVoiceClient::voiceEnabled() | |||
3607 | return gSavedSettings.getBOOL("EnableVoiceChat") && !gSavedSettings.getBOOL("CmdLineDisableVoice"); | 3602 | return gSavedSettings.getBOOL("EnableVoiceChat") && !gSavedSettings.getBOOL("CmdLineDisableVoice"); |
3608 | } | 3603 | } |
3609 | 3604 | ||
3605 | void LLVoiceClient::setLipSyncEnabled(BOOL enabled) | ||
3606 | { | ||
3607 | mLipSyncEnabled = enabled; | ||
3608 | } | ||
3609 | |||
3610 | BOOL LLVoiceClient::lipSyncEnabled() | ||
3611 | { | ||
3612 | |||
3613 | if ( mVoiceEnabled && stateDisabled != getState() ) | ||
3614 | { | ||
3615 | return mLipSyncEnabled; | ||
3616 | } | ||
3617 | else | ||
3618 | { | ||
3619 | return FALSE; | ||
3620 | } | ||
3621 | } | ||
3622 | |||
3610 | void LLVoiceClient::setUsePTT(bool usePTT) | 3623 | void LLVoiceClient::setUsePTT(bool usePTT) |
3611 | { | 3624 | { |
3612 | if(usePTT && !mUsePTT) | 3625 | if(usePTT && !mUsePTT) |
@@ -3650,7 +3663,7 @@ void LLVoiceClient::setEarLocation(S32 loc) | |||
3650 | { | 3663 | { |
3651 | if(mEarLocation != loc) | 3664 | if(mEarLocation != loc) |
3652 | { | 3665 | { |
3653 | llinfos << "Setting mEarLocation to " << loc << llendl; | 3666 | LL_DEBUGS("Voice") << "Setting mEarLocation to " << loc << LL_ENDL; |
3654 | 3667 | ||
3655 | mEarLocation = loc; | 3668 | mEarLocation = loc; |
3656 | mSpatialCoordsDirty = true; | 3669 | mSpatialCoordsDirty = true; |
@@ -3659,7 +3672,7 @@ void LLVoiceClient::setEarLocation(S32 loc) | |||
3659 | 3672 | ||
3660 | void LLVoiceClient::setVoiceVolume(F32 volume) | 3673 | void LLVoiceClient::setVoiceVolume(F32 volume) |
3661 | { | 3674 | { |
3662 | // llinfos << "volume is " << volume << llendl; | 3675 | LL_DEBUGS("Voice") << "volume is " << volume << LL_ENDL; |
3663 | 3676 | ||
3664 | // incoming volume has the range [0.0 ... 1.0], with 0.5 as the default. | 3677 | // incoming volume has the range [0.0 ... 1.0], with 0.5 as the default. |
3665 | // Map it as follows: 0.0 -> -100, 0.5 -> 24, 1.0 -> 50 | 3678 | // Map it as follows: 0.0 -> -100, 0.5 -> 24, 1.0 -> 50 |
@@ -3708,7 +3721,7 @@ void LLVoiceClient::setVivoxDebugServerName(std::string &serverName) | |||
3708 | 3721 | ||
3709 | void LLVoiceClient::keyDown(KEY key, MASK mask) | 3722 | void LLVoiceClient::keyDown(KEY key, MASK mask) |
3710 | { | 3723 | { |
3711 | // llinfos << "key is " << LLKeyboard::stringFromKey(key) << llendl; | 3724 | LL_DEBUGS("Voice") << "key is " << LLKeyboard::stringFromKey(key) << LL_ENDL; |
3712 | 3725 | ||
3713 | if (gKeyboard->getKeyRepeated(key)) | 3726 | if (gKeyboard->getKeyRepeated(key)) |
3714 | { | 3727 | { |
@@ -4002,7 +4015,7 @@ void LLVoiceClient::notifyStatusObservers(LLVoiceClientStatusObserver::EStatusTy | |||
4002 | mVivoxErrorStatusCode = 0; | 4015 | mVivoxErrorStatusCode = 0; |
4003 | } | 4016 | } |
4004 | 4017 | ||
4005 | llinfos << " " << LLVoiceClientStatusObserver::status2string(status) << ", session URI " << mSessionURI << llendl; | 4018 | LL_DEBUGS("Voice") << " " << LLVoiceClientStatusObserver::status2string(status) << ", session URI " << mSessionURI << LL_ENDL; |
4006 | 4019 | ||
4007 | for (status_observer_set_t::iterator it = mStatusObservers.begin(); | 4020 | for (status_observer_set_t::iterator it = mStatusObservers.begin(); |
4008 | it != mStatusObservers.end(); | 4021 | it != mStatusObservers.end(); |