Merge branch 'release/2024.06-atlasaurus' of https://github.com/secondlife/viewer
# Conflicts: # indra/newview/featuretable_linux.txtmaster
commit
59bf1d192b
|
|
@ -1127,18 +1127,6 @@
|
|||
</map>
|
||||
<key>glm</key>
|
||||
<map>
|
||||
<key>canonical_repo</key>
|
||||
<string>https://github.com/secondlife/3p-glm</string>
|
||||
<key>copyright</key>
|
||||
<string>Copyright (c) 2005 - G-Truc Creation</string>
|
||||
<key>description</key>
|
||||
<string>OpenGL Mathematics</string>
|
||||
<key>license</key>
|
||||
<string>MIT</string>
|
||||
<key>license_file</key>
|
||||
<string>LICENSES/glm_license.txt</string>
|
||||
<key>name</key>
|
||||
<string>glm</string>
|
||||
<key>platforms</key>
|
||||
<map>
|
||||
<key>common</key>
|
||||
|
|
@ -1156,16 +1144,28 @@
|
|||
<string>common</string>
|
||||
</map>
|
||||
</map>
|
||||
<key>source_type</key>
|
||||
<string>git</string>
|
||||
<key>license</key>
|
||||
<string>MIT</string>
|
||||
<key>license_file</key>
|
||||
<string>LICENSES/glm_license.txt</string>
|
||||
<key>copyright</key>
|
||||
<string>Copyright (c) 2005 - G-Truc Creation</string>
|
||||
<key>version</key>
|
||||
<string>v1.0.1</string>
|
||||
<key>name</key>
|
||||
<string>glm</string>
|
||||
<key>vcs_branch</key>
|
||||
<string>refs/tags/v1.0.1-r1</string>
|
||||
<key>vcs_revision</key>
|
||||
<string>399cd5ba57a9267a560ce07e50a0f8c5fe3dc66f</string>
|
||||
<key>vcs_url</key>
|
||||
<string>git://github.com/secondlife/3p-glm.git</string>
|
||||
<key>version</key>
|
||||
<string>v1.0.1</string>
|
||||
<key>canonical_repo</key>
|
||||
<string>https://github.com/secondlife/3p-glm</string>
|
||||
<key>description</key>
|
||||
<string>OpenGL Mathematics</string>
|
||||
<key>source_type</key>
|
||||
<string>git</string>
|
||||
</map>
|
||||
<key>havok-source</key>
|
||||
<map>
|
||||
|
|
@ -1720,14 +1720,6 @@
|
|||
</map>
|
||||
<key>llphysicsextensions_source</key>
|
||||
<map>
|
||||
<key>copyright</key>
|
||||
<string>Copyright (c) 2010, Linden Research, Inc.</string>
|
||||
<key>license</key>
|
||||
<string>internal</string>
|
||||
<key>license_file</key>
|
||||
<string>LICENSES/llphysicsextensions.txt</string>
|
||||
<key>name</key>
|
||||
<string>llphysicsextensions_source</string>
|
||||
<key>platforms</key>
|
||||
<map>
|
||||
<key>darwin64</key>
|
||||
|
|
@ -1779,8 +1771,16 @@
|
|||
<string>windows64</string>
|
||||
</map>
|
||||
</map>
|
||||
<key>license</key>
|
||||
<string>internal</string>
|
||||
<key>license_file</key>
|
||||
<string>LICENSES/llphysicsextensions.txt</string>
|
||||
<key>copyright</key>
|
||||
<string>Copyright (c) 2010, Linden Research, Inc.</string>
|
||||
<key>version</key>
|
||||
<string>1.0.b8b1f73</string>
|
||||
<key>name</key>
|
||||
<string>llphysicsextensions_source</string>
|
||||
</map>
|
||||
<key>llphysicsextensions_stub</key>
|
||||
<map>
|
||||
|
|
@ -2345,16 +2345,6 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
|
|||
</map>
|
||||
<key>openal</key>
|
||||
<map>
|
||||
<key>copyright</key>
|
||||
<string>Copyright (C) 1999-2007 by authors.</string>
|
||||
<key>description</key>
|
||||
<string>OpenAL Soft is a software implementation of the OpenAL 3D audio API.</string>
|
||||
<key>license</key>
|
||||
<string>LGPL2</string>
|
||||
<key>license_file</key>
|
||||
<string>LICENSES/openal-soft.txt</string>
|
||||
<key>name</key>
|
||||
<string>openal</string>
|
||||
<key>platforms</key>
|
||||
<map>
|
||||
<key>darwin64</key>
|
||||
|
|
@ -2400,8 +2390,18 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
|
|||
<string>windows64</string>
|
||||
</map>
|
||||
</map>
|
||||
<key>license</key>
|
||||
<string>LGPL2</string>
|
||||
<key>license_file</key>
|
||||
<string>LICENSES/openal-soft.txt</string>
|
||||
<key>copyright</key>
|
||||
<string>Copyright (C) 1999-2007 by authors.</string>
|
||||
<key>version</key>
|
||||
<string>1.23.1</string>
|
||||
<key>name</key>
|
||||
<string>openal</string>
|
||||
<key>description</key>
|
||||
<string>OpenAL Soft is a software implementation of the OpenAL 3D audio API.</string>
|
||||
</map>
|
||||
<key>openjpeg</key>
|
||||
<map>
|
||||
|
|
@ -3160,11 +3160,11 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
|
|||
<key>archive</key>
|
||||
<map>
|
||||
<key>hash</key>
|
||||
<string>194b4f5957c9f003c46e61a434e23a7c3d1180d6</string>
|
||||
<string>3570b6442d472cd97bad8622c2ec2571d72218a0</string>
|
||||
<key>hash_algorithm</key>
|
||||
<string>sha1</string>
|
||||
<key>url</key>
|
||||
<string>https://github.com/secondlife/3p-webrtc-build/releases/download/m114.5735.08.70-debug/webrtc-m114.5735.08.70-debug.10377605436-darwin64-10377605436.tar.zst</string>
|
||||
<string>https://github.com/secondlife/3p-webrtc-build/releases/download/m114.5735.08.72-test/webrtc-m114.5735.08.72-test.10444682919-darwin64-10444682919.tar.zst</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>darwin64</string>
|
||||
|
|
@ -3174,11 +3174,11 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
|
|||
<key>archive</key>
|
||||
<map>
|
||||
<key>hash</key>
|
||||
<string>38e0c7d30b4c40eb04e60ab199440b847cc7c6cf</string>
|
||||
<string>eadf6aa99313940ded11801d42c11375669f1628</string>
|
||||
<key>hash_algorithm</key>
|
||||
<string>sha1</string>
|
||||
<key>url</key>
|
||||
<string>https://github.com/secondlife/3p-webrtc-build/releases/download/m114.5735.08.70-debug/webrtc-m114.5735.08.70-debug.10377605436-linux64-10377605436.tar.zst</string>
|
||||
<string>https://github.com/secondlife/3p-webrtc-build/releases/download/m114.5735.08.72-test/webrtc-m114.5735.08.72-test.10444682919-linux64-10444682919.tar.zst</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>linux64</string>
|
||||
|
|
@ -3188,11 +3188,11 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
|
|||
<key>archive</key>
|
||||
<map>
|
||||
<key>hash</key>
|
||||
<string>053fb5c873df9192e34cddcf2db1c5fdcff76ba1</string>
|
||||
<string>0081fd35290adbc8e66dd366535fb6cd8a966f1e</string>
|
||||
<key>hash_algorithm</key>
|
||||
<string>sha1</string>
|
||||
<key>url</key>
|
||||
<string>https://github.com/secondlife/3p-webrtc-build/releases/download/m114.5735.08.70-debug/webrtc-m114.5735.08.70-debug.10377605436-windows64-10377605436.tar.zst</string>
|
||||
<string>https://github.com/secondlife/3p-webrtc-build/releases/download/m114.5735.08.72-test/webrtc-m114.5735.08.72-test.10444682919-windows64-10444682919.tar.zst</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>windows64</string>
|
||||
|
|
@ -3205,7 +3205,7 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
|
|||
<key>copyright</key>
|
||||
<string>Copyright (c) 2011, The WebRTC project authors. All rights reserved.</string>
|
||||
<key>version</key>
|
||||
<string>m114.5735.08.70-debug.10377605436</string>
|
||||
<string>m114.5735.08.72-test.10444682919</string>
|
||||
<key>name</key>
|
||||
<string>webrtc</string>
|
||||
<key>vcs_branch</key>
|
||||
|
|
|
|||
|
|
@ -88,4 +88,3 @@ char* LLMessageStringTable::getString(const char *str)
|
|||
}
|
||||
return mString[hash_value];
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2078,6 +2078,14 @@ void LLFloater::onClickClose( LLFloater* self )
|
|||
self->onClickCloseBtn();
|
||||
}
|
||||
|
||||
// static
|
||||
void LLFloater::onClickClose(LLFloater* self, bool app_quitting)
|
||||
{
|
||||
if (!self)
|
||||
return;
|
||||
self->onClickCloseBtn(app_quitting);
|
||||
}
|
||||
|
||||
void LLFloater::onClickCloseBtn(bool app_quitting)
|
||||
{
|
||||
// <FS:Ansariel> FIRE-24125: Add option to close all floaters of a group
|
||||
|
|
|
|||
|
|
@ -378,6 +378,7 @@ public:
|
|||
// }
|
||||
|
||||
static void onClickClose(LLFloater* floater);
|
||||
static void onClickClose(LLFloater* floater, bool app_quitting);
|
||||
static void onClickMinimize(LLFloater* floater);
|
||||
static void onClickTearOff(LLFloater* floater);
|
||||
static void onClickDock(LLFloater* floater);
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ add_library (llwebrtc SHARED ${llwebrtc_SOURCE_FILES})
|
|||
set_target_properties(llwebrtc PROPERTIES PUBLIC_HEADER llwebrtc.h)
|
||||
|
||||
if (WINDOWS)
|
||||
cmake_policy(SET CMP0091 NEW)
|
||||
set_target_properties(llwebrtc
|
||||
PROPERTIES
|
||||
LINK_FLAGS "/debug /LARGEADDRESSAWARE"
|
||||
|
|
@ -41,7 +42,10 @@ if (WINDOWS)
|
|||
wmcodecdspuuid
|
||||
msdmo
|
||||
strmiids
|
||||
iphlpapi)
|
||||
iphlpapi
|
||||
libcmt)
|
||||
# as the webrtc libraries are release, build this binary as release as well.
|
||||
target_compile_options(llwebrtc PRIVATE "/MT")
|
||||
if (USE_BUGSPLAT)
|
||||
set_target_properties(llwebrtc PROPERTIES PDB_OUTPUT_DIRECTORY "${SYMBOLS_STAGING_DIR}")
|
||||
endif (USE_BUGSPLAT)
|
||||
|
|
|
|||
|
|
@ -206,10 +206,10 @@ void LLWebRTCImpl::init()
|
|||
mTuningDeviceModule->SetAudioDeviceSink(this);
|
||||
mTuningDeviceModule->InitMicrophone();
|
||||
mTuningDeviceModule->InitSpeaker();
|
||||
mTuningDeviceModule->SetStereoRecording(false);
|
||||
mTuningDeviceModule->SetStereoPlayout(true);
|
||||
mTuningDeviceModule->InitRecording();
|
||||
mTuningDeviceModule->InitPlayout();
|
||||
mTuningDeviceModule->SetStereoRecording(true);
|
||||
mTuningDeviceModule->SetStereoPlayout(true);
|
||||
updateDevices();
|
||||
});
|
||||
|
||||
|
|
@ -227,10 +227,6 @@ void LLWebRTCImpl::init()
|
|||
mPeerDeviceModule->EnableBuiltInAEC(false);
|
||||
mPeerDeviceModule->InitMicrophone();
|
||||
mPeerDeviceModule->InitSpeaker();
|
||||
mPeerDeviceModule->InitRecording();
|
||||
mPeerDeviceModule->InitPlayout();
|
||||
mPeerDeviceModule->SetStereoRecording(true);
|
||||
mPeerDeviceModule->SetStereoPlayout(true);
|
||||
});
|
||||
|
||||
// The custom processor allows us to retrieve audio data (and levels)
|
||||
|
|
@ -251,8 +247,9 @@ void LLWebRTCImpl::init()
|
|||
apm_config.noise_suppression.level = webrtc::AudioProcessing::Config::NoiseSuppression::kVeryHigh;
|
||||
apm_config.transient_suppression.enabled = true;
|
||||
apm_config.pipeline.multi_channel_render = true;
|
||||
apm_config.pipeline.multi_channel_capture = true;
|
||||
apm_config.pipeline.multi_channel_capture = true;
|
||||
apm_config.pipeline.multi_channel_capture = false;
|
||||
|
||||
mAudioProcessingModule->ApplyConfig(apm_config);
|
||||
|
||||
webrtc::ProcessingConfig processing_config;
|
||||
processing_config.input_stream().set_num_channels(2);
|
||||
|
|
@ -264,10 +261,8 @@ void LLWebRTCImpl::init()
|
|||
processing_config.reverse_output_stream().set_num_channels(2);
|
||||
processing_config.reverse_output_stream().set_sample_rate_hz(48000);
|
||||
|
||||
mAudioProcessingModule->ApplyConfig(apm_config);
|
||||
mAudioProcessingModule->Initialize(processing_config);
|
||||
|
||||
|
||||
mPeerConnectionFactory = webrtc::CreatePeerConnectionFactory(mNetworkThread.get(),
|
||||
mWorkerThread.get(),
|
||||
mSignalingThread.get(),
|
||||
|
|
@ -279,7 +274,6 @@ void LLWebRTCImpl::init()
|
|||
nullptr /* audio_mixer */,
|
||||
mAudioProcessingModule);
|
||||
|
||||
mWorkerThread->BlockingCall([this]() { mPeerDeviceModule->StartPlayout(); });
|
||||
}
|
||||
|
||||
void LLWebRTCImpl::terminate()
|
||||
|
|
@ -331,6 +325,8 @@ void LLWebRTCImpl::setRecording(bool recording)
|
|||
{
|
||||
if (recording)
|
||||
{
|
||||
mPeerDeviceModule->SetStereoRecording(false);
|
||||
mPeerDeviceModule->InitRecording();
|
||||
mPeerDeviceModule->StartRecording();
|
||||
}
|
||||
else
|
||||
|
|
@ -340,6 +336,24 @@ void LLWebRTCImpl::setRecording(bool recording)
|
|||
});
|
||||
}
|
||||
|
||||
void LLWebRTCImpl::setPlayout(bool playing)
|
||||
{
|
||||
mWorkerThread->PostTask(
|
||||
[this, playing]()
|
||||
{
|
||||
if (playing)
|
||||
{
|
||||
mPeerDeviceModule->SetStereoPlayout(true);
|
||||
mPeerDeviceModule->InitPlayout();
|
||||
mPeerDeviceModule->StartPlayout();
|
||||
}
|
||||
else
|
||||
{
|
||||
mPeerDeviceModule->StopPlayout();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void LLWebRTCImpl::setAudioConfig(LLWebRTCDeviceInterface::AudioConfig config)
|
||||
{
|
||||
webrtc::AudioProcessing::Config apm_config;
|
||||
|
|
@ -402,7 +416,6 @@ void LLWebRTCImpl::unsetDevicesObserver(LLWebRTCDevicesObserver *observer)
|
|||
|
||||
void ll_set_device_module_capture_device(rtc::scoped_refptr<webrtc::AudioDeviceModule> device_module, int16_t device)
|
||||
{
|
||||
device_module->StopRecording();
|
||||
#if WEBRTC_WIN
|
||||
if (device < 0)
|
||||
{
|
||||
|
|
@ -417,10 +430,9 @@ void ll_set_device_module_capture_device(rtc::scoped_refptr<webrtc::AudioDeviceM
|
|||
// has it at 0
|
||||
device_module->SetRecordingDevice(device + 1);
|
||||
#endif
|
||||
device_module->SetStereoRecording(false);
|
||||
device_module->InitMicrophone();
|
||||
device_module->InitRecording();
|
||||
device_module->SetStereoRecording(false);
|
||||
device_module->StartRecording();
|
||||
}
|
||||
|
||||
void LLWebRTCImpl::setCaptureDevice(const std::string &id)
|
||||
|
|
@ -444,18 +456,32 @@ void LLWebRTCImpl::setCaptureDevice(const std::string &id)
|
|||
mRecordingDevice = recordingDevice;
|
||||
if (mTuningMode)
|
||||
{
|
||||
mWorkerThread->PostTask([this, recordingDevice]() { ll_set_device_module_capture_device(mTuningDeviceModule, recordingDevice); });
|
||||
mWorkerThread->PostTask([this, recordingDevice]()
|
||||
{
|
||||
ll_set_device_module_capture_device(mTuningDeviceModule, recordingDevice);
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
mWorkerThread->PostTask([this, recordingDevice]() { ll_set_device_module_capture_device(mPeerDeviceModule, recordingDevice); });
|
||||
mWorkerThread->PostTask([this, recordingDevice]()
|
||||
{
|
||||
bool recording = mPeerDeviceModule->Recording();
|
||||
if (recording)
|
||||
{
|
||||
mPeerDeviceModule->StopRecording();
|
||||
}
|
||||
ll_set_device_module_capture_device(mPeerDeviceModule, recordingDevice);
|
||||
if (recording)
|
||||
{
|
||||
mPeerDeviceModule->StartRecording();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void ll_set_device_module_render_device(rtc::scoped_refptr<webrtc::AudioDeviceModule> device_module, int16_t device)
|
||||
{
|
||||
device_module->StopPlayout();
|
||||
#if WEBRTC_WIN
|
||||
if (device < 0)
|
||||
{
|
||||
|
|
@ -468,9 +494,9 @@ void ll_set_device_module_render_device(rtc::scoped_refptr<webrtc::AudioDeviceMo
|
|||
#else
|
||||
device_module->SetPlayoutDevice(device + 1);
|
||||
#endif
|
||||
device_module->SetStereoPlayout(true);
|
||||
device_module->InitSpeaker();
|
||||
device_module->InitPlayout();
|
||||
device_module->SetStereoPlayout(true);
|
||||
}
|
||||
|
||||
void LLWebRTCImpl::setRenderDevice(const std::string &id)
|
||||
|
|
@ -506,8 +532,16 @@ void LLWebRTCImpl::setRenderDevice(const std::string &id)
|
|||
mWorkerThread->PostTask(
|
||||
[this, playoutDevice]()
|
||||
{
|
||||
bool playing = mPeerDeviceModule->Playing();
|
||||
if (playing)
|
||||
{
|
||||
mPeerDeviceModule->StopPlayout();
|
||||
}
|
||||
ll_set_device_module_render_device(mPeerDeviceModule, playoutDevice);
|
||||
mPeerDeviceModule->StartPlayout();
|
||||
if (playing)
|
||||
{
|
||||
mPeerDeviceModule->StartPlayout();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
@ -592,6 +626,8 @@ void LLWebRTCImpl::setTuningMode(bool enable)
|
|||
//mTuningDeviceModule->StopPlayout();
|
||||
ll_set_device_module_render_device(mPeerDeviceModule, mPlayoutDevice);
|
||||
ll_set_device_module_capture_device(mPeerDeviceModule, mRecordingDevice);
|
||||
mPeerDeviceModule->SetStereoPlayout(true);
|
||||
mPeerDeviceModule->SetStereoRecording(false);
|
||||
mPeerDeviceModule->InitPlayout();
|
||||
mPeerDeviceModule->InitRecording();
|
||||
mPeerDeviceModule->StartPlayout();
|
||||
|
|
@ -635,6 +671,11 @@ LLWebRTCPeerConnectionInterface *LLWebRTCImpl::newPeerConnection()
|
|||
|
||||
mPeerConnections.emplace_back(peerConnection);
|
||||
peerConnection->enableSenderTracks(!mMute);
|
||||
if (mPeerConnections.empty())
|
||||
{
|
||||
setRecording(true);
|
||||
setPlayout(true);
|
||||
}
|
||||
return peerConnection.get();
|
||||
}
|
||||
|
||||
|
|
@ -649,6 +690,7 @@ void LLWebRTCImpl::freePeerConnection(LLWebRTCPeerConnectionInterface* peer_conn
|
|||
if (mPeerConnections.empty())
|
||||
{
|
||||
setRecording(false);
|
||||
setPlayout(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -662,7 +704,7 @@ void LLWebRTCImpl::freePeerConnection(LLWebRTCPeerConnectionInterface* peer_conn
|
|||
LLWebRTCPeerConnectionImpl::LLWebRTCPeerConnectionImpl() :
|
||||
mWebRTCImpl(nullptr),
|
||||
mPeerConnection(nullptr),
|
||||
mMute(false),
|
||||
mMute(true),
|
||||
mAnswerReceived(false)
|
||||
{
|
||||
}
|
||||
|
|
@ -684,8 +726,8 @@ void LLWebRTCPeerConnectionImpl::init(LLWebRTCImpl * webrtc_impl)
|
|||
}
|
||||
void LLWebRTCPeerConnectionImpl::terminate()
|
||||
{
|
||||
mWebRTCImpl->PostSignalingTask(
|
||||
[=]()
|
||||
mWebRTCImpl->SignalingBlockingCall(
|
||||
[this]()
|
||||
{
|
||||
if (mPeerConnection)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -278,6 +278,8 @@ class LLWebRTCImpl : public LLWebRTCDeviceInterface, public webrtc::AudioDeviceS
|
|||
// enables/disables capture via the capture device
|
||||
void setRecording(bool recording);
|
||||
|
||||
void setPlayout(bool playing);
|
||||
|
||||
protected:
|
||||
LLWebRTCLogSink* mLogSink;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
version 60
|
||||
version 61
|
||||
// The version number above should be incremented IF AND ONLY IF some
|
||||
// change has been made that is sufficiently important to justify
|
||||
// resetting the graphics preferences of all users to the recommended
|
||||
|
|
@ -252,7 +252,7 @@ RenderReflectionsEnabled 1 1
|
|||
RenderReflectionProbeDetail 1 1
|
||||
RenderScreenSpaceReflections 1 0
|
||||
RenderReflectionProbeLevel 1 3
|
||||
RenderMirrors 1 1
|
||||
RenderMirrors 1 0
|
||||
RenderHeroProbeResolution 1 512
|
||||
RenderHeroProbeDistance 1 8
|
||||
RenderHeroProbeUpdateRate 1 2
|
||||
|
|
@ -288,7 +288,7 @@ RenderReflectionsEnabled 1 1
|
|||
RenderReflectionProbeDetail 1 1
|
||||
RenderScreenSpaceReflections 1 0
|
||||
RenderReflectionProbeLevel 1 3
|
||||
RenderMirrors 1 1
|
||||
RenderMirrors 1 0
|
||||
RenderHeroProbeResolution 1 1024
|
||||
RenderHeroProbeDistance 1 16
|
||||
RenderHeroProbeUpdateRate 1 1
|
||||
|
|
@ -324,7 +324,7 @@ RenderReflectionsEnabled 1 1
|
|||
RenderReflectionProbeDetail 1 1
|
||||
RenderScreenSpaceReflections 1 0
|
||||
RenderReflectionProbeLevel 1 3
|
||||
RenderMirrors 1 1
|
||||
RenderMirrors 1 0
|
||||
RenderHeroProbeResolution 1 2048
|
||||
RenderHeroProbeDistance 1 16
|
||||
RenderHeroProbeUpdateRate 1 1
|
||||
|
|
|
|||
|
|
@ -70,12 +70,19 @@ RenderShadowDetail 1 2
|
|||
RenderUseStreamVBO 1 1
|
||||
RenderFSAASamples 1 16
|
||||
RenderMaxTextureIndex 1 16
|
||||
RenderMirrors 1 1
|
||||
RenderGLContextCoreProfile 1 1
|
||||
RenderGLMultiThreadedTextures 1 0
|
||||
RenderGLMultiThreadedMedia 1 1
|
||||
RenderReflectionProbeResolution 1 128
|
||||
RenderScreenSpaceReflections 1 1
|
||||
|
||||
RenderMirrors 1 0
|
||||
RenderHeroProbeResolution 1 256
|
||||
RenderHeroProbeDistance 1 4
|
||||
RenderHeroProbeUpdateRate 1 6
|
||||
RenderHeroProbeConservativeUpdateMultiplier 1 16
|
||||
|
||||
|
||||
//
|
||||
// Low Graphics Settings
|
||||
|
|
@ -323,7 +330,7 @@ RenderReflectionsEnabled 1 1
|
|||
RenderReflectionProbeDetail 1 1
|
||||
RenderScreenSpaceReflections 1 0
|
||||
RenderReflectionProbeLevel 1 3
|
||||
RenderMirrors 1 1
|
||||
RenderMirrors 1 0
|
||||
RenderHeroProbeResolution 1 2048
|
||||
RenderHeroProbeDistance 1 16
|
||||
RenderHeroProbeUpdateRate 1 1
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
version 57
|
||||
version 58
|
||||
// The version number above should be incremented IF AND ONLY IF some
|
||||
// change has been made that is sufficiently important to justify
|
||||
// resetting the graphics preferences of all users to the recommended
|
||||
|
|
@ -250,7 +250,7 @@ RenderReflectionsEnabled 1 1
|
|||
RenderReflectionProbeDetail 1 1
|
||||
RenderScreenSpaceReflections 1 0
|
||||
RenderReflectionProbeLevel 1 1
|
||||
RenderMirrors 1 1
|
||||
RenderMirrors 1 0
|
||||
RenderHeroProbeResolution 1 512
|
||||
RenderHeroProbeDistance 1 8
|
||||
RenderHeroProbeUpdateRate 1 2
|
||||
|
|
@ -286,7 +286,7 @@ RenderReflectionsEnabled 1 1
|
|||
RenderReflectionProbeDetail 1 1
|
||||
RenderScreenSpaceReflections 1 0
|
||||
RenderReflectionProbeLevel 1 2
|
||||
RenderMirrors 1 1
|
||||
RenderMirrors 1 0
|
||||
RenderHeroProbeResolution 1 512
|
||||
RenderHeroProbeDistance 1 16
|
||||
RenderHeroProbeUpdateRate 1 1
|
||||
|
|
@ -322,7 +322,7 @@ RenderReflectionsEnabled 1 1
|
|||
RenderReflectionProbeDetail 1 1
|
||||
RenderScreenSpaceReflections 1 0
|
||||
RenderReflectionProbeLevel 1 3
|
||||
RenderMirrors 1 1
|
||||
RenderMirrors 1 0
|
||||
RenderHeroProbeResolution 1 1024
|
||||
RenderHeroProbeDistance 1 16
|
||||
RenderHeroProbeUpdateRate 1 1
|
||||
|
|
|
|||
|
|
@ -2444,7 +2444,7 @@ void LLFloaterIMContainer::closeHostedFloater()
|
|||
onClickCloseBtn();
|
||||
}
|
||||
|
||||
void LLFloaterIMContainer::closeAllConversations()
|
||||
void LLFloaterIMContainer::closeAllConversations(bool app_quitting)
|
||||
{
|
||||
std::vector<LLUUID> ids;
|
||||
for (conversations_items_map::iterator it_session = mConversationsItems.begin(); it_session != mConversationsItems.end(); it_session++)
|
||||
|
|
@ -2459,7 +2459,7 @@ void LLFloaterIMContainer::closeAllConversations()
|
|||
for (std::vector<LLUUID>::const_iterator it = ids.begin(); it != ids.end(); ++it)
|
||||
{
|
||||
LLFloaterIMSession *conversationFloater = LLFloaterIMSession::findInstance(*it);
|
||||
LLFloater::onClickClose(conversationFloater);
|
||||
LLFloater::onClickClose(conversationFloater, app_quitting);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2482,7 +2482,7 @@ void LLFloaterIMContainer::closeFloater(bool app_quitting/* = false*/)
|
|||
{
|
||||
if(app_quitting)
|
||||
{
|
||||
closeAllConversations();
|
||||
closeAllConversations(app_quitting);
|
||||
onClickCloseBtn(app_quitting);
|
||||
}
|
||||
else
|
||||
|
|
|
|||
|
|
@ -119,7 +119,7 @@ public:
|
|||
void assignResizeLimits();
|
||||
virtual bool handleKeyHere(KEY key, MASK mask );
|
||||
/*virtual*/ void closeFloater(bool app_quitting = false);
|
||||
void closeAllConversations();
|
||||
void closeAllConversations(bool app_quitting);
|
||||
void closeSelectedConversations(const uuid_vec_t& ids);
|
||||
/*virtual*/ bool isFrontmost();
|
||||
|
||||
|
|
|
|||
|
|
@ -143,8 +143,14 @@ void LLFloaterIMSession::onTearOffClicked()
|
|||
}
|
||||
|
||||
// virtual
|
||||
void LLFloaterIMSession::onClickCloseBtn(bool)
|
||||
void LLFloaterIMSession::onClickCloseBtn(bool app_qutting)
|
||||
{
|
||||
if (app_qutting)
|
||||
{
|
||||
LLFloaterIMSessionTab::onClickCloseBtn();
|
||||
return;
|
||||
}
|
||||
|
||||
LLIMModel::LLIMSession* session = LLIMModel::instance().findIMSession(mSessionID);
|
||||
|
||||
if (session != NULL)
|
||||
|
|
|
|||
|
|
@ -268,6 +268,7 @@ void LLWebRTCVoiceClient::init(LLPumpIO* pump)
|
|||
mWebRTCDeviceInterface = llwebrtc::getDeviceInterface();
|
||||
mWebRTCDeviceInterface->setDevicesObserver(this);
|
||||
mMainQueue = LL::WorkQueue::getInstance("mainloop");
|
||||
refreshDeviceLists();
|
||||
}
|
||||
|
||||
void LLWebRTCVoiceClient::terminate()
|
||||
|
|
@ -636,7 +637,7 @@ void LLWebRTCVoiceClient::clearCaptureDevices()
|
|||
|
||||
void LLWebRTCVoiceClient::addCaptureDevice(const LLVoiceDevice& device)
|
||||
{
|
||||
LL_DEBUGS("Voice") << "display: '" << device.display_name << "' device: '" << device.full_name << "'" << LL_ENDL;
|
||||
LL_INFOS("Voice") << "Voice Capture Device: '" << device.display_name << "' (" << device.full_name << ")" << LL_ENDL;
|
||||
mCaptureDevices.push_back(device);
|
||||
}
|
||||
|
||||
|
|
@ -705,7 +706,7 @@ void LLWebRTCVoiceClient::clearRenderDevices()
|
|||
|
||||
void LLWebRTCVoiceClient::addRenderDevice(const LLVoiceDevice& device)
|
||||
{
|
||||
LL_DEBUGS("Voice") << "display: '" << device.display_name << "' device: '" << device.full_name << "'" << LL_ENDL;
|
||||
LL_INFOS("Voice") << "Voice Render Device: '" << device.display_name << "' (" << device.full_name << ")" << LL_ENDL;
|
||||
mRenderDevices.push_back(device);
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue