summaryrefslogtreecommitdiff
path: root/indra/llwebrtc
AgeCommit message (Collapse)Author
2024-09-16Merge branch 'main' into 2024.08-DeltaFPSErik Kundiman
2024-09-16WebRTC on Fedora & openSUSE without breaking CEFErik Kundiman
Thanks to the Linux x86-64 WebRTC binary from Zenichi Amano (crow-misia). https://megapahit.com/show_bug.cgi?id=64 Haven't been tested on openSUSE, but it should work.
2024-09-01Merge remote-tracking branch 'secondlife/release/2024.08-DeltaFPS' into ↵Erik Kundiman
2024.08-DeltaFPS
2024-08-28Fix left out & error-causing from previous commitErik Kundiman
2024-08-20Merge remote-tracking branch 'origin/release/2024.06-atlasaurus' into developBrad Linden
# Conflicts: # autobuild.xml # indra/newview/llvoicewebrtc.cpp
2024-08-20Merge remote-tracking branch 'secondlife/release/2024.06-atlasaurus' into ↵Erik Kundiman
2024.06-atlasaurus
2024-08-19Merge remote-tracking branch 'secondlife/release/2024.06-atlasaurus' into ↵Erik Kundiman
2024.06-atlasaurus
2024-08-18Merge branch 'roxie/webrtc-airpod-fixes' of github.com:secondlife/viewer ↵Roxie Linden
into roxie/webrtc-airpod-fixes
2024-08-18Use the release build of webrtc to avoid pedantic asserts which are handled ↵Roxie Linden
properly anyway.
2024-08-18Update webrtc to fix loss of stereo in bluetooth issue.Roxie Linden
When transitioning from mic-on hands-free mode to mic off, it's expected that the audio stream would return to stereo. Inproper logic in the mac device code in webrtc was preventing that.
2024-08-17Microphone was being prematurely enabled on login for a short period.Roxie Linden
The microphone issue was causing a short moment of sound, and was causing bluetooth headsets to switch to hands-free/one channel mode which is disruptive. Also, update webrtc to deal with issue where airpods were garbled after coming out of hands-free mode.
2024-08-17Fixes to managing device start/stop playout/recording.Roxie Linden
Fixes prevent attempting to start playout/recording before the devices are set up, to prevent restarting playout/recording, to prevent attempts to stop when not playing/recording, and so on... This should address the case where audio device changes can cause an assert. It should also address the case where audio was unnecessarily played or transmitted when connecting. And, when voice is disabled, the audio devices are not set up to play/record so there should be no disruption of bluetooth music from other apps.
2024-08-09Merge remote-tracking branch 'origin/release/2024.06-atlasaurus' into developBrad Linden
# Conflicts: # .github/workflows/build.yaml # indra/llui/llscrolllistctrl.cpp
2024-08-08CR fixesRoxie Linden
2024-08-07build debug symbols for llwebrtc even for releaseRoxie Linden
2024-08-07Add Windows multi-pdb upload capabilityRoxie Linden
2024-08-06Build an xcarchive for mac symbol upload.Roxie Linden
2024-08-05Build mac symbols for multiple binaries/dynamic libraries and upload them ↵Roxie Linden
all to bugsplat
2024-08-03Merge branch 'webrtc-voice' into tmpErik Kundiman
2024-08-02Merge remote-tracking branch 'secondlife/release/webrtc-voice' into webrtc-voiceErik Kundiman
2024-08-01Merge remote-tracking branch 'origin/release/2024.06-atlasaurus' into developBrad Linden
2024-07-31Implement a Logging Sink for WebRTCRoxie Linden
WebRTC logs now pass out of the webrtc library into a logging sink, which converts them into SecondLife.log compatable logging calls. This includes fatal errors and asserts, which are now logged into SecondLife.log, and should be available in the crash logger.
2024-07-29Fix trailing whitespaces in webrtc code to pass pre-commitAndrey Lihatskiy
2024-07-29Update boost to 1.85 and fix deprecation warningsRye Mutt
2024-07-28Fix libllwebrtc.dylib installation to the packageErik Kundiman
llwebrtc.h is not unnecessarily installed any more. When code signing the app on macOS, there was also a problem where it said that this header wasn't signed. ??? That's why we make sure that it won't be installed now. Also on macOS, the dylib is installed to Frameworks right away, so now we don't have any unused double in Resources.
2024-07-19#2053 BugSplat Crash #1494325: LLVOVolume::getReflectionProbeNearClip()Alexander Gavriliuk
2024-07-18Fix trailing whitespaces in webrtc code to pass pre-commitAndrey Lihatskiy
2024-07-17Reenable OnDevicesUpdated on all platformsErik Kundiman
but not as "override" on the less supported ones.
2024-07-14Disable audio device sink related code on someErik Kundiman
It's the custom part of LL's WebRTC fork, and I haven't got the resources to build LL's fork for the platforms unsupported by them. And for those less supported platforms, we're using binaries from https://github.com/crow-misia/libwebrtc-bin
2024-07-05`make install` on macOS installs libllwebrtc.dylibErik Kundiman
For now it's to the Resources folder, while 3rd-party libraries have moved to the Frameworks folder, so let's see.
2024-06-28Install libllwebrtc.soErik Kundiman
2024-06-24[WebRTC] control microphone gain via custom audio processor.Roxie Linden
Previously, there were two places audio gain could be controlled: - the device manager - the audio track The device manager audio gain control sets the system gain for all applications, not just the webrtc application. The audio track gain happens well after the audio processing where we want it to happen. So, gain control was added to the existing custom audio processor, which previously only handled calculating and retrieving the audio levels. After these changes, the microphone gain slider does impact the audio volume heard by peers.
2024-05-19Get rid of a deprecated warning in Linux buildsRoxie Linden
2024-05-19More session shutdown cleanupRoxie Linden
2024-05-17Clean up some shutdown code.Roxie Linden
2024-05-16Race condition resulted in close causing removal of peer connection while ↵Roxie Linden
other jobs might be using it.
2024-05-02Unregister requested data channel when using the negotiated one.Roxie Linden
When creating a new connection, the viewer builds a data channel interface. It then gets a new one, which is a proxy. The viewer uses the new one, and therefore must unregister the callbacks from the old one. Also, update the position data before sending it after the join is sent.
2024-04-28Don't default the tracks to unmutedRoxie Linden
2024-04-28Reconnects to the voice server weren't happening.Roxie Linden
2024-04-21Reconnect when parcel voice params change.Roxie Linden
When parcel voice permissions and region/parcel-only voice settings change, a callback will be made to the viewer with new voice credential information. For webrtc, this means either just the uuid of the voice channel, or nothing if voice is disabled. This change looks at that callback and the channel id, and sets the appropriate flags on the parcel/region as needed which will cause voice to be renegotiated. Also, there was a race condition if the voice connect attempt was made before caps were retrieved, which would have resulted in full renegotiate attempts. Now, just wait until the cap comes in and continue.
2024-04-07CR suggestionsRoxie Linden
2024-04-07Show 'decline' when peer declines p2p voiceRoxie Linden
The simulator will send a chatterbox notification that voice is no longer in use for a given channel, and the viewer should take that as a case where the peer does not want voice, hence it's a decline.
2024-04-01oopseRoxie Linden
2024-04-01Fix "default" audio device handling.Roxie Linden
Windows and Mac/Linux behave slightly differently with respect to Default devices, in that mac/linux (I think) simply assumes the device at index 0 is the default one, and windows has a separate API for enabling the default device.
2024-03-30Fix windows crashesRoxie Linden
* sampling rate was set to 8khz for audio processing, which was causing a 'bands' mismatch with the echo cancler. * Some funnybusiness with lambdas and captures and such was causing a heap crash with respect to function parameters.
2024-03-30Merge branch 'roxie/webrtc-voice' of https://github.com/secondlife/viewer ↵Roxie Linden
into roxie/webrtc-voice
2024-03-30Renegotiate on remote description errorRoxie Linden
2024-03-30Add UI for managing echo cancellation, AGC, and noise control.Roxie Linden
Plumb audio settings through from webrtc to the sound preferences UI (still needs some tweaking, of course.) Also, choose stun servers based on grid. Ultimately, the stun stun servers will be passed up via login or something.
2024-03-22Add Tracy categories for WebRTC VoiceRoxie Linden
Also: * Fix a few crashes. * Only send position data when it changes.
2024-03-20Turn procesIceUpdates into a coroutine to chop up the work a bit.Roxie Linden