mirror of
https://github.com/JulianGro/overte.git
synced 2025-04-25 15:13:09 +02:00
addressing pr comments
This commit is contained in:
parent
be2fff13d2
commit
9cc3b7a5c7
4 changed files with 25 additions and 34 deletions
|
@ -283,10 +283,19 @@ void AudioDeviceList::onDevicesChanged(const QList<HifiAudioDeviceInfo>& devices
|
|||
foreach(const HifiAudioDeviceInfo& deviceInfo, devices) {
|
||||
AudioDevice device;
|
||||
device.info = deviceInfo;
|
||||
device.display = device.info.deviceName()
|
||||
.replace("High Definition", "HD")
|
||||
.remove("Device")
|
||||
.replace(" )", ")");
|
||||
|
||||
if (deviceInfo.isDefault()) {
|
||||
if (deviceInfo.getMode() == QAudio::AudioInput) {
|
||||
device.display = "Default microphone (recommended)";
|
||||
} else {
|
||||
device.display = "Default audio (recommended)";
|
||||
}
|
||||
} else {
|
||||
device.display = device.info.deviceName()
|
||||
.replace("High Definition", "HD")
|
||||
.remove("Device")
|
||||
.replace(" )", ")");
|
||||
}
|
||||
|
||||
for (bool isHMD : {false, true}) {
|
||||
HifiAudioDeviceInfo& selectedDevice = isHMD ? _selectedHMDDevice : _selectedDesktopDevice;
|
||||
|
|
|
@ -123,14 +123,14 @@ void AudioClient::checkDevices() {
|
|||
{
|
||||
|
||||
//is the current device the default?, if so has the underlying QAudioDeviceInfo changed from the os call
|
||||
if (_inputDeviceInfo.isDefault() && _inputDeviceInfo == _defaultInputDevice) {
|
||||
if (_inputDeviceInfo.isDefault()) {
|
||||
auto defInput = defaultAudioDeviceForMode(QAudio::AudioInput);
|
||||
|
||||
//Has the default device changed
|
||||
if (_defaultInputDevice.getDevice() != defInput.getDevice()) {
|
||||
qDebug() << "Changing Current Default device " << _defaultInputDevice.getAudioDeviceName();
|
||||
qDebug() << "Changing Current Default device " << _defaultInputDevice.deviceName();
|
||||
_defaultInputDevice.setDevice(defInput.getDevice());
|
||||
qDebug() << "NEW Default device " << _defaultInputDevice.getAudioDeviceName();
|
||||
qDebug() << "NEW Default device " << _defaultInputDevice.deviceName();
|
||||
QMetaObject::invokeMethod(this, "switchAudioDevice", Qt::DirectConnection, Q_ARG(QAudio::Mode, QAudio::AudioInput), Q_ARG(const HifiAudioDeviceInfo&, _defaultInputDevice));
|
||||
}
|
||||
}
|
||||
|
@ -140,9 +140,9 @@ void AudioClient::checkDevices() {
|
|||
auto defOutput = defaultAudioDeviceForMode(QAudio::AudioOutput);
|
||||
|
||||
if (_defaultOutputDevice.getDevice() != defOutput.getDevice()) {
|
||||
qDebug() << "Changing Current Default device " << _defaultOutputDevice.getAudioDeviceName();
|
||||
qDebug() << "Changing Current Default device " << _defaultOutputDevice.deviceName();
|
||||
_defaultOutputDevice.setDevice(defOutput.getDevice());
|
||||
qDebug() << "NEW Default device " << _defaultOutputDevice.getAudioDeviceName();
|
||||
qDebug() << "NEW Default device " << _defaultOutputDevice.deviceName();
|
||||
QMetaObject::invokeMethod(this, "switchAudioDevice",Qt::DirectConnection, Q_ARG(QAudio::Mode, QAudio::AudioOutput), Q_ARG(const HifiAudioDeviceInfo&, _defaultOutputDevice));
|
||||
}
|
||||
}
|
||||
|
@ -372,12 +372,10 @@ AudioClient::AudioClient() :
|
|||
connect(&_receivedAudioStream, &InboundAudioStream::mismatchedAudioCodec, this, &AudioClient::handleMismatchAudioFormat);
|
||||
|
||||
_defaultOutputDevice = defaultAudioDeviceForMode(QAudio::AudioOutput);
|
||||
_defaultOutputDevice.setDeviceName("Default audio (recommended)");
|
||||
_defaultOutputDevice.setIsDefault(true);
|
||||
_defaultOutputDevice.setMode(QAudio::AudioOutput);
|
||||
|
||||
_defaultInputDevice = defaultAudioDeviceForMode(QAudio::AudioInput);
|
||||
_defaultInputDevice.setDeviceName("Default microphone (recommended)");
|
||||
_defaultInputDevice.setIsDefault(true);
|
||||
_defaultInputDevice.setMode(QAudio::AudioInput);
|
||||
|
||||
|
@ -649,7 +647,7 @@ HifiAudioDeviceInfo defaultAudioDeviceForMode(QAudio::Mode mode) {
|
|||
for (auto inputDevice : inputDevices) {
|
||||
if (((headsetOn || !aecEnabled) && inputDevice.deviceName() == VOICE_RECOGNITION) ||
|
||||
((!headsetOn && aecEnabled) && inputDevice.deviceName() == VOICE_COMMUNICATION)) {
|
||||
return HifiAudioDeviceInfo(inputDevice,false,QAudio::AudioInput);
|
||||
return HifiAudioDeviceInfo(inputDevice, false, QAudio::AudioInput);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1866,7 +1864,7 @@ void AudioClient::outputFormatChanged() {
|
|||
bool AudioClient::switchInputToAudioDevice(const HifiAudioDeviceInfo inputDeviceInfo, bool isShutdownRequest) {
|
||||
Q_ASSERT_X(QThread::currentThread() == thread(), Q_FUNC_INFO, "Function invoked on wrong thread");
|
||||
|
||||
qCDebug(audioclient) << __FUNCTION__ << "inputDeviceInfo: [" << inputDeviceInfo.getDevice().deviceName() << "]";
|
||||
qCDebug(audioclient) << __FUNCTION__ << "inputDeviceInfo: [" << inputDeviceInfo.deviceName() <<"----"<<inputDeviceInfo.getDevice().deviceName() << "]";
|
||||
bool supportedFormat = false;
|
||||
|
||||
// NOTE: device start() uses the Qt internal device list
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
|
||||
|
||||
#include "HifiAudioDeviceInfo.h"
|
||||
#include <QCryptographicHash>
|
||||
|
||||
void HifiAudioDeviceInfo::setDevice(QAudioDeviceInfo devInfo) {
|
||||
_audioDeviceInfo = devInfo;
|
||||
|
@ -19,21 +18,16 @@ void HifiAudioDeviceInfo::setDevice(QAudioDeviceInfo devInfo) {
|
|||
|
||||
HifiAudioDeviceInfo& HifiAudioDeviceInfo::operator=(const HifiAudioDeviceInfo& other) {
|
||||
_audioDeviceInfo = other.getDevice();
|
||||
_deviceName = other.deviceName();
|
||||
_mode = other.getMode();
|
||||
_isDefault = other.isDefault();
|
||||
_uniqueId = other.getId();
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
bool HifiAudioDeviceInfo::operator==(const HifiAudioDeviceInfo& rhs) const {
|
||||
return _audioDeviceInfo == rhs.getDevice() && getId() == rhs.getId();
|
||||
return getDevice() == rhs.getDevice() && isDefault() == rhs.isDefault();
|
||||
}
|
||||
|
||||
bool HifiAudioDeviceInfo::operator!=(const HifiAudioDeviceInfo& rhs) const {
|
||||
return _audioDeviceInfo != rhs.getDevice() && getId() != rhs.getId();
|
||||
return getDevice() != rhs.getDevice() && isDefault() != rhs.isDefault();
|
||||
}
|
||||
|
||||
void HifiAudioDeviceInfo::setId(QString name) {
|
||||
_uniqueId=QString(QCryptographicHash::hash(name.toUtf8().constData(), QCryptographicHash::Md5).toHex());
|
||||
}
|
||||
|
|
|
@ -28,28 +28,20 @@ public:
|
|||
_audioDeviceInfo = deviceInfo.getDevice();
|
||||
_mode = deviceInfo.getMode();
|
||||
_isDefault = deviceInfo.isDefault();
|
||||
setDeviceName(deviceInfo.deviceName());
|
||||
}
|
||||
|
||||
HifiAudioDeviceInfo(QAudioDeviceInfo deviceInfo, bool isDefault, QAudio::Mode mode) :
|
||||
_audioDeviceInfo(deviceInfo),
|
||||
_isDefault(isDefault),
|
||||
_mode(mode){
|
||||
setDeviceName(deviceInfo.deviceName());
|
||||
}
|
||||
|
||||
void setMode(QAudio::Mode mode) { _mode = mode; }
|
||||
void setIsDefault(bool isDefault = false) { _isDefault = isDefault; }
|
||||
void setDeviceName(QString name) {
|
||||
_deviceName = name;
|
||||
setId(name);
|
||||
}
|
||||
|
||||
void setDevice(QAudioDeviceInfo devInfo);
|
||||
void setId(QString name);
|
||||
QString getAudioDeviceName() { return _audioDeviceInfo.deviceName(); }
|
||||
QString getId() const { return _uniqueId; }
|
||||
QString deviceName() const { return _audioDeviceInfo.deviceName(); }
|
||||
QAudioDeviceInfo getDevice() const { return _audioDeviceInfo; }
|
||||
QString deviceName() const { return _deviceName; }
|
||||
bool isDefault() const { return _isDefault; }
|
||||
QAudio::Mode getMode() const { return _mode; }
|
||||
|
||||
|
@ -59,10 +51,8 @@ public:
|
|||
|
||||
private:
|
||||
QAudioDeviceInfo _audioDeviceInfo;
|
||||
QString _deviceName{ "" };
|
||||
bool _isDefault { false };
|
||||
QAudio::Mode _mode { QAudio::AudioInput };
|
||||
QString _uniqueId;
|
||||
};
|
||||
|
||||
#endif
|
Loading…
Reference in a new issue