Show 'decline' when peer declines p2p voice

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.
meow-7.2.2
Roxie Linden 2024-04-07 14:13:00 -07:00
parent 4ecf050439
commit 34ed990fa3
2 changed files with 25 additions and 6 deletions

View File

@ -26,7 +26,6 @@
#include "llwebrtc_impl.h"
#include <algorithm>
#include <format>
#include <string.h>
#include "api/audio_codecs/audio_decoder_factory.h"
@ -389,7 +388,7 @@ 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 LL_WINDOWS
#if WEBRTC_WIN
if (device < 0)
{
device_module->SetRecordingDevice(webrtc::AudioDeviceModule::kDefaultDevice);
@ -442,7 +441,7 @@ void LLWebRTCImpl::setCaptureDevice(const std::string &id)
void ll_set_device_module_render_device(rtc::scoped_refptr<webrtc::AudioDeviceModule> device_module, int16_t device)
{
device_module->StopPlayout();
#if LL_WINDOWS
#if WEBRTC_WIN
if (device < 0)
{
device_module->SetPlayoutDevice(webrtc::AudioDeviceModule::kDefaultDevice);
@ -501,10 +500,10 @@ void LLWebRTCImpl::setRenderDevice(const std::string &id)
// updateDevices needs to happen on the worker thread.
void LLWebRTCImpl::updateDevices()
{
int16_t renderDeviceCount = mTuningDeviceModule->PlayoutDevices();
int16_t renderDeviceCount = mTuningDeviceModule->PlayoutDevices();
mPlayoutDeviceList.clear();
#if LL_WINDOWS
#if WEBRTC_WIN
int16_t index = 0;
#else
// index zero is always "Default" for darwin/linux,
@ -516,13 +515,23 @@ void LLWebRTCImpl::updateDevices()
char name[webrtc::kAdmMaxDeviceNameSize];
char guid[webrtc::kAdmMaxGuidSize];
mTuningDeviceModule->PlayoutDeviceName(index, name, guid);
#if WEBRTC_LINUX
// Linux audio implementation (pulse and alsa)
// return empty strings for the guid, so
// use the name for the guid
if (!strcmp(guid, ""))
{
strcpy(guid, name);
}
#endif // WEBRTC_LINUX
mPlayoutDeviceList.emplace_back(name, guid);
}
int16_t captureDeviceCount = mTuningDeviceModule->RecordingDevices();
mRecordingDeviceList.clear();
#if LL_WINDOWS
#if WEBRTC_WIN
index = 0;
#else
// index zero is always "Default" for darwin/linux,
@ -534,6 +543,15 @@ void LLWebRTCImpl::updateDevices()
char name[webrtc::kAdmMaxDeviceNameSize];
char guid[webrtc::kAdmMaxGuidSize];
mTuningDeviceModule->RecordingDeviceName(index, name, guid);
#if WEBRTC_LINUX
// Linux audio implementation (pulse and alsa)
// return empty strings for the guid, so
// use the name for the guid
if (!strcmp(guid, ""))
{
strcpy(guid, name);
}
#endif // WEBRTC_LINUX
mRecordingDeviceList.emplace_back(name, guid);
}

View File

@ -35,6 +35,7 @@
#define WEBRTC_POSIX 1
#elif __linux__
#define WEBRTC_LINUX 1
#define WEBRTC_POSIX 1
#endif
#include "llwebrtc.h"