aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Output/wasapi
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/Output/wasapi')
-rw-r--r--src/plugins/Output/wasapi/outputwasapi.cpp5
-rw-r--r--src/plugins/Output/wasapi/outputwasapi.h18
-rw-r--r--src/plugins/Output/wasapi/settingsdialog.cpp11
3 files changed, 16 insertions, 18 deletions
diff --git a/src/plugins/Output/wasapi/outputwasapi.cpp b/src/plugins/Output/wasapi/outputwasapi.cpp
index 1a803bf68..2db27cfc4 100644
--- a/src/plugins/Output/wasapi/outputwasapi.cpp
+++ b/src/plugins/Output/wasapi/outputwasapi.cpp
@@ -56,11 +56,6 @@ OutputWASAPI::DWASAPIChannels OutputWASAPI::m_wasapi_pos[10] = {
OutputWASAPI::OutputWASAPI() : Output()
{
- m_pEnumerator = nullptr;
- m_pDevice = nullptr;
- m_pAudioClient = nullptr;
- m_pRenderClient = nullptr;
- m_pSimpleAudioVolume = nullptr;
instance = this;
QSettings settings(Qmmp::configFile(), QSettings::IniFormat);
m_id = settings.value("WASAPI/device", "default").toString();
diff --git a/src/plugins/Output/wasapi/outputwasapi.h b/src/plugins/Output/wasapi/outputwasapi.h
index 10fd10cee..0c03a7e10 100644
--- a/src/plugins/Output/wasapi/outputwasapi.h
+++ b/src/plugins/Output/wasapi/outputwasapi.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2016 by Ilya Kotov *
+ * Copyright (C) 2016-2020 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -60,16 +60,16 @@ private:
void status();
void uninitialize();
- IMMDeviceEnumerator *m_pEnumerator;
- IMMDevice *m_pDevice;
- IAudioClient *m_pAudioClient;
- IAudioRenderClient *m_pRenderClient;
- ISimpleAudioVolume *m_pSimpleAudioVolume;
+ IMMDeviceEnumerator *m_pEnumerator = nullptr;
+ IMMDevice *m_pDevice = nullptr;
+ IAudioClient *m_pAudioClient = nullptr;
+ IAudioRenderClient *m_pRenderClient = nullptr;
+ ISimpleAudioVolume *m_pSimpleAudioVolume = nullptr;
- UINT32 m_bufferFrames;
- int m_frameSize;
+ UINT32 m_bufferFrames = 0;
+ int m_frameSize = 0;
QString m_id;
- bool m_exclusive;
+ bool m_exclusive = false;
typedef struct
{
diff --git a/src/plugins/Output/wasapi/settingsdialog.cpp b/src/plugins/Output/wasapi/settingsdialog.cpp
index d91d9ca9a..2d91c66e1 100644
--- a/src/plugins/Output/wasapi/settingsdialog.cpp
+++ b/src/plugins/Output/wasapi/settingsdialog.cpp
@@ -71,11 +71,14 @@ void SettingsDialog::enumDevices()
IPropertyStore *pProps = nullptr;
UINT count = 0;
- result = pEnumerator->EnumAudioEndpoints(eRender, DEVICE_STATE_ACTIVE, &pEndpoints);
- if(result != S_OK)
+ if(pEnumerator)
{
- qWarning("SettingsDialog: IMMDeviceEnumerator::EnumAudioEndpoints failed, error code = 0x%lx", result);
- pEndpoints = nullptr;
+ result = pEnumerator->EnumAudioEndpoints(eRender, DEVICE_STATE_ACTIVE, &pEndpoints);
+ if(result != S_OK)
+ {
+ qWarning("SettingsDialog: IMMDeviceEnumerator::EnumAudioEndpoints failed, error code = 0x%lx", result);
+ pEndpoints = nullptr;
+ }
}
if(pEndpoints)