Skip to content

Commit 343a8ac

Browse files
ksuprynowiczHifiExperiments
authored andcommitted
Fix audio selection issue
1 parent 22bd86f commit 343a8ac

File tree

5 files changed

+17
-8
lines changed

5 files changed

+17
-8
lines changed

interface/src/scripting/Audio.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@
2424
using MutedGetter = std::function<bool()>;
2525
using MutedSetter = std::function<void(bool)>;
2626

27+
#define OVERTE_AUDIO_STRING "Audio"
28+
#define OVERTE_AUDIO_HMD_STRING "VR"
29+
#define OVERTE_AUDIO_DESKTOP_STRING "Desktop"
30+
2731
namespace scripting {
2832

2933
class Audio : public AudioScriptingInterface, protected ReadWriteLockable {

interface/src/scripting/AudioDevices.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,14 @@
2222
#include "AudioClient.h"
2323
#include "Audio.h"
2424
#include "UserActivityLogger.h"
25+
#include "HifiAudioDeviceInfo.h"
2526

2627
using namespace scripting;
2728

28-
static Setting::Handle<QString> desktopInputDeviceSetting { QStringList { Audio::AUDIO, Audio::DESKTOP, "INPUT" }};
29-
static Setting::Handle<QString> desktopOutputDeviceSetting { QStringList { Audio::AUDIO, Audio::DESKTOP, "OUTPUT" }};
30-
static Setting::Handle<QString> hmdInputDeviceSetting { QStringList { Audio::AUDIO, Audio::HMD, "INPUT" }};
31-
static Setting::Handle<QString> hmdOutputDeviceSetting { QStringList { Audio::AUDIO, Audio::HMD, "OUTPUT" }};
29+
static Setting::Handle<QString> desktopInputDeviceSetting { QStringList { OVERTE_AUDIO_STRING, OVERTE_AUDIO_DESKTOP_STRING, "INPUT" }, HIFI_AUDIO_DEVICE_INFO_DEFAULT_DEVICE_NAME};
30+
static Setting::Handle<QString> desktopOutputDeviceSetting { QStringList { OVERTE_AUDIO_STRING, OVERTE_AUDIO_DESKTOP_STRING, "OUTPUT" }, HIFI_AUDIO_DEVICE_INFO_DEFAULT_DEVICE_NAME};
31+
static Setting::Handle<QString> hmdInputDeviceSetting { QStringList { OVERTE_AUDIO_STRING, OVERTE_AUDIO_HMD_STRING, "INPUT" }, HIFI_AUDIO_DEVICE_INFO_DEFAULT_DEVICE_NAME};
32+
static Setting::Handle<QString> hmdOutputDeviceSetting { QStringList { OVERTE_AUDIO_STRING, OVERTE_AUDIO_HMD_STRING, "OUTPUT" }, HIFI_AUDIO_DEVICE_INFO_DEFAULT_DEVICE_NAME};
3233

3334
Q_DECLARE_METATYPE(HifiAudioDeviceInfo);
3435

libraries/audio-client/src/AudioClient.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -343,6 +343,7 @@ AudioClient::AudioClient() {
343343
defaultAudioDeviceName(QAudio::AudioInput);
344344
defaultAudioDeviceName(QAudio::AudioOutput);
345345

346+
checkDevices();
346347
// start a thread to detect any device changes
347348
_checkDevicesTimer = new QTimer(this);
348349
const unsigned long DEVICE_CHECK_INTERVAL_MSECS = 2 * 1000;
@@ -807,9 +808,10 @@ void AudioClient::start() {
807808
inputName = _hmdInputName;
808809
outputName = _hmdOutputName;
809810
}
810-
811-
//initialize input to the dummy device to prevent starves
812-
switchInputToAudioDevice(HifiAudioDeviceInfo());
811+
812+
// Input was originally set to HifiAudioDeviceInfo(), but that was causing trouble.
813+
//Original comment: initialize input to the dummy device to prevent starves
814+
switchInputToAudioDevice(defaultAudioDeviceForMode(QAudio::AudioInput, QString()));
813815
switchOutputToAudioDevice(defaultAudioDeviceForMode(QAudio::AudioOutput, QString()));
814816

815817
#if defined(Q_OS_ANDROID)

libraries/audio-client/src/HifiAudioDeviceInfo.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
#include "HifiAudioDeviceInfo.h"
1414

15-
const QString HifiAudioDeviceInfo::DEFAULT_DEVICE_NAME = "default ";
15+
const QString HifiAudioDeviceInfo::DEFAULT_DEVICE_NAME = HIFI_AUDIO_DEVICE_INFO_DEFAULT_DEVICE_NAME;
1616

1717
void HifiAudioDeviceInfo::setDevice(QAudioDeviceInfo devInfo) {
1818
_audioDeviceInfo = devInfo;

libraries/audio-client/src/HifiAudioDeviceInfo.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
#include <QAudio>
2020
#include <QString>
2121

22+
#define HIFI_AUDIO_DEVICE_INFO_DEFAULT_DEVICE_NAME "default "
23+
2224
class HifiAudioDeviceInfo : public QObject {
2325
Q_OBJECT
2426

0 commit comments

Comments
 (0)