diff options
-rw-r--r-- | audio/out/ao_wasapi.c | 13 | ||||
-rw-r--r-- | audio/out/ao_wasapi.h | 27 | ||||
-rw-r--r-- | audio/out/ao_wasapi_changenotify.c | 6 | ||||
-rw-r--r-- | audio/out/ao_wasapi_utils.c | 11 | ||||
-rw-r--r-- | audio/out/ao_wasapi_utils.h | 48 |
5 files changed, 31 insertions, 74 deletions
diff --git a/audio/out/ao_wasapi.c b/audio/out/ao_wasapi.c index 2a4834d1b1..1c0e85b7bb 100644 --- a/audio/out/ao_wasapi.c +++ b/audio/out/ao_wasapi.c @@ -17,23 +17,14 @@ * with mpv. If not, see <http://www.gnu.org/licenses/>. */ -#include <stdlib.h> #include <math.h> #include <inttypes.h> -#include <process.h> -#include <initguid.h> -#include <audioclient.h> -#include <endpointvolume.h> -#include <mmdeviceapi.h> -#include <avrt.h> #include <libavutil/mathematics.h> -#include "audio/out/ao_wasapi.h" -#include "audio/out/ao_wasapi_utils.h" - -#include "audio/format.h" +#include "options/m_option.h" #include "osdep/timer.h" #include "osdep/io.h" +#include "ao_wasapi.h" // naive av_rescale for unsigned static UINT64 uint64_scale(UINT64 x, UINT64 num, UINT64 den) diff --git a/audio/out/ao_wasapi.h b/audio/out/ao_wasapi.h index d7a650c3e3..cc7f0f6e8b 100644 --- a/audio/out/ao_wasapi.h +++ b/audio/out/ao_wasapi.h @@ -20,13 +20,18 @@ #ifndef MP_AO_WASAPI_H_ #define MP_AO_WASAPI_H_ +#include <stdlib.h> #include <stdbool.h> +#include <windows.h> +#include <mmdeviceapi.h> #include <audioclient.h> #include <audiopolicy.h> -#include <mmdeviceapi.h> -#include <avrt.h> +#include <endpointvolume.h> +#include "common/msg.h" #include "osdep/atomics.h" +#include "internal.h" +#include "ao.h" typedef struct change_notify { IMMNotificationClient client; // this must be first in the structure! @@ -109,4 +114,22 @@ typedef struct wasapi_state { change_notify change; } wasapi_state; +char *mp_GUID_to_str_buf(char *buf, size_t buf_size, const GUID *guid); +char *mp_PKEY_to_str_buf(char *buf, size_t buf_size, const PROPERTYKEY *pkey); +char *mp_HRESULT_to_str_buf(char *buf, size_t buf_size, HRESULT hr); +#define mp_GUID_to_str(guid) mp_GUID_to_str_buf((char[40]){0}, 40, (guid)) +#define mp_PKEY_to_str(pkey) mp_PKEY_to_str_buf((char[42]){0}, 42, (pkey)) +#define mp_HRESULT_to_str(hr) mp_HRESULT_to_str_buf((char[60]){0}, 60, (hr)) +#define mp_LastError_to_str() mp_HRESULT_to_str(HRESULT_FROM_WIN32(GetLastError())) + +void wasapi_list_devs(struct ao *ao, struct ao_device_list *list); +LPWSTR find_deviceID(struct ao *ao); + +void wasapi_dispatch(struct ao *ao); +HRESULT wasapi_thread_init(struct ao *ao); +void wasapi_thread_uninit(struct ao *ao); + +void wasapi_receive_proxies(wasapi_state *state); +void wasapi_release_proxies(wasapi_state *state); + #endif diff --git a/audio/out/ao_wasapi_changenotify.c b/audio/out/ao_wasapi_changenotify.c index 61d70161c5..c2bce0d42b 100644 --- a/audio/out/ao_wasapi_changenotify.c +++ b/audio/out/ao_wasapi_changenotify.c @@ -17,15 +17,9 @@ * with mpv. If not, see <http://www.gnu.org/licenses/>. */ -#include <initguid.h> -#include <audioclient.h> -#include <endpointvolume.h> -#include <mmdeviceapi.h> #include <wchar.h> -#include <stdlib.h> #include "ao_wasapi.h" -#include "ao_wasapi_utils.h" static HRESULT STDMETHODCALLTYPE sIMMNotificationClient_QueryInterface( IMMNotificationClient* This, REFIID riid, void **ppvObject) diff --git a/audio/out/ao_wasapi_utils.c b/audio/out/ao_wasapi_utils.c index 15eb8beccf..f02650a36b 100644 --- a/audio/out/ao_wasapi_utils.c +++ b/audio/out/ao_wasapi_utils.c @@ -18,21 +18,18 @@ */ #include <math.h> -#include <libavutil/common.h> +#include <wchar.h> #include <windows.h> +#include <initguid.h> #include <errors.h> #include <ksguid.h> #include <ksmedia.h> -#include <audioclient.h> -#include <endpointvolume.h> -#include <mmdeviceapi.h> #include <avrt.h> -#include "audio/out/ao_wasapi_utils.h" - #include "audio/format.h" -#include "osdep/io.h" #include "osdep/timer.h" +#include "osdep/io.h" +#include "ao_wasapi.h" #define MIXER_DEFAULT_LABEL L"mpv - video player" diff --git a/audio/out/ao_wasapi_utils.h b/audio/out/ao_wasapi_utils.h deleted file mode 100644 index 17f5cbad69..0000000000 --- a/audio/out/ao_wasapi_utils.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * This file is part of mpv. - * - * Original author: Jonathan Yong <10walls@gmail.com> - * - * mpv is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * mpv is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with mpv. If not, see <http://www.gnu.org/licenses/>. - */ - -#ifndef MP_AO_WASAPI_UTILS_H_ -#define MP_AO_WASAPI_UTILS_H_ - -#include "audio/out/ao_wasapi.h" - -#include "options/m_option.h" -#include "common/msg.h" -#include "ao.h" -#include "internal.h" - -char *mp_GUID_to_str_buf(char *buf, size_t buf_size, const GUID *guid); -char *mp_PKEY_to_str_buf(char *buf, size_t buf_size, const PROPERTYKEY *pkey); -char *mp_HRESULT_to_str_buf(char *buf, size_t buf_size, HRESULT hr); -#define mp_GUID_to_str(guid) mp_GUID_to_str_buf((char[40]){0}, 40, (guid)) -#define mp_PKEY_to_str(pkey) mp_PKEY_to_str_buf((char[42]){0}, 42, (pkey)) -#define mp_HRESULT_to_str(hr) mp_HRESULT_to_str_buf((char[60]){0}, 60, (hr)) -#define mp_LastError_to_str() mp_HRESULT_to_str(HRESULT_FROM_WIN32(GetLastError())) - -void wasapi_list_devs(struct ao *ao, struct ao_device_list *list); -LPWSTR find_deviceID(struct ao *ao); - -void wasapi_dispatch(struct ao *ao); -HRESULT wasapi_thread_init(struct ao *ao); -void wasapi_thread_uninit(struct ao *ao); - -void wasapi_receive_proxies(wasapi_state *state); -void wasapi_release_proxies(wasapi_state *state); - -#endif |