Dmitry Kostjuchenko
0cdb346fdc
Merge branch 'winrt' into 'master'
...
WASAPI: fixed MonoToStereo converter could write beyond the allowed memory region if sample format is packed 24-bit integer, fixed DEF file by adding missing WASAPI API
Merged-on: https://assembla.com/code/portaudio/git/merge_requests/6928491
2018-10-21 10:24:52 +00:00
dmitrykos
57b98d5a8c
wasapi: fixed MonoToStereo converter could write beyond the allowed memory region if sample format is packed 24-bit integer, fixed DEF file by adding missing WASAPI API
2018-10-21 13:21:28 +03:00
Nicholas Appleton
ea11061b20
commit Rainer's work and make some minor modifications to the top-level cmakelists to make visual studio happy
2018-10-02 21:54:44 +10:00
dmitrykos
eb4a7d25dc
wasapi: fixed callback not called for Input stream if 1 channel format is requested
2018-09-23 20:44:21 +03:00
dmitrykos
5dec767af1
wasapi: fixed crash on NULL
2018-09-10 23:09:44 +03:00
dmitrykos
fe2c8e1f42
wasapi: fixed input device can not be opened in Exclusive mode (regression of previous commit)
2018-09-10 22:55:27 +03:00
dmitrykos
c3fee03ff1
wasapi: support Exclusive mode on UWP (use new function PaWasapi_SetDefaultInterfaceId to set device's interface id to make Exclusive mode work);
...
- support for explicit 8.24 format (24-bit inside 32-bit container) by specifying paCustomFormat (see IMPORTANT notes in the header file);
- new flag paWinWasapiExplicitSampleFormat to force explicit format and avoid fallback to a closest working;
- new function PaWasapi_GetDeviceCurrentFormat to get device format of the opened stream;
- support PaWasapi_ThreadPriorityXXX API on UWP to boot thread priority;
- improved selection of the closest format in Exclusive mode.
2018-09-06 20:45:22 +03:00
dmitrykos
d7a4cb482d
wasapi: fixed compilation error of PaWasapi_GetAudioClient()
2018-07-19 21:42:21 +03:00
Dmitry Kostjuchenko
64ad96ea3c
Merge branch 'winrt' into 'master'
...
New PaWasapi_GetAudioClient() API and workaround to get real Windows version and thus use correct AudioClient interface version.
Merged-on: https://assembla.com/code/portaudio/git/merge_requests/6574173
2018-07-01 10:04:04 +00:00
dmitrykos
a802290e83
wasapi: new PaWasapi_GetAudioClient() API to get pointer to IAudioClient from PaStream, workaround to get real Windows version in order to be able to create correct version of IAudioClient interface (Windows 10 was reported as Windows 8 when using just GetVersion())
2018-06-30 12:21:59 +03:00
Phil Burk
8dc6d59877
Merge branch 'ticket_275_pass_void' into 'master'
...
Add void argument to Pa_GetVersionInfo()
+1: Anonymous
Merged-on: https://assembla.com/code/portaudio/git/merge_requests/6415893
2018-05-26 04:49:10 +00:00
DaShun
c5e8f1dca7
Add asio lib.
2018-04-17 11:36:55 +08:00
dmitrykos
d3e65ce690
wasapi: correction to PaWasapi_UpdateDeviceList() API by making it unavailable by default unless PA_WASAPI_MAX_CONST_DEVICE_COUNT is explicitly defined
2018-04-02 22:15:49 +03:00
dmitrykos
eb62287494
wasapi: new WASAPI specific API PaWasapi_UpdateDeviceList() which allows to update WASAPI device list dynamically without a need to call Pa_Terminate() and then Pa_Initialize().
...
This new implementation overcomes current limitation of Pa_GetDeviceCount() API which gives constant device count by making WASAPI device list constant (32 devices by default) where 32 device slots can either be filled with a real device info or be empty for a future device changes.
Constant device list size can be altered by PA_WASAPI_MAX_CONST_DEVICE_COUNT define during a compile time. If PA_WASAPI_MAX_CONST_DEVICE_COUNT is set to 0 then PaWasapi_UpdateDeviceList() will be unavailable as well as dynamic device list update functionality.
This implementation also detects the audio device format change if user alters it via Windows Audio Controller GUI.
This implementation also makes WASAPI backend ready for a future implementation of device list updates via PortAudio public API. See internal PaError UpdateDeviceList().
2018-04-02 21:50:16 +03:00
dmitrykos
a525c38289
wasapi: fixed failure to initialize when Capture device is not provided by OS, silenced warnings in log functions
2018-01-10 20:58:14 +02:00
Ross Bencina
1bdcb9e413
Merge branch 'winrt' into 'master'
...
WASAPI: corrections for Windows 10 UWP
+1: Ross Bencina, Anonymous, Roland Winklmeier
Merged-on: https://assembla.com/code/portaudio/git/merge_requests/4995123
2017-11-13 06:42:49 +00:00
dmitrykos
bc40f42cba
wasapi: corrected GetWindowsVersion() to return Windows 10 (was max Windows 8)
...
wasapi: use IAudioClient3 for Windows 10 for best compatibility
wasapi: fix compilation when Windows 10 SDK (10.0.15063.0) is used by removing SignalObjectAndWait() definition which creates duplicates with the system defined SignalObjectAndWait() (since 10.0.15063.0 it is supported by the OS again)
2017-05-29 22:44:36 +03:00
Phil Burk
dde71d1114
pa_front.c: fix initializationCount_ in Pa_Terminate()
...
Was decrementing too soon and causing Pa_CloseStream() to fail.
See ticket #260
2016-10-23 14:50:01 -07:00
Ross Bencina
18b2ab2339
Fix for ticket #257 : MinGW-w64: Inclusion of <winioctl.h> triggers multiple redefinition errors.
2016-10-02 20:34:04 +11:00
Ross Bencina
6dbb8a6d64
Merge branch 'bump_version' into 'master'
...
pa_front: bump version to 19.6.0 for release
Merged-on: https://assembla.com/code/portaudio/git/merge_requests/3873413
2016-09-25 05:49:16 +00:00
Phil Burk
3f7248cd00
pa_front: bumped to 19.6.0
2016-09-24 09:02:56 -07:00
Phil Burk
b69214bcb4
Merge branch 'ticket_252_nohang' into 'master'
...
pa_mac_core_blocking: fix hang when running stream stopped (fixed merge)
Merged-on: https://assembla.com/code/portaudio/git/merge_requests/3829453
2016-09-24 16:01:14 +00:00
Phil Burk
339e875f42
pa_mac_core: fix whitespace and missing semicolon
...
It compiled without the semicolon because it was followed by a VDBUG,
which was followed by a semicolon. The VDBUG was disabled so its
semicolon finished the line above.
2016-09-24 08:53:28 -07:00
Phil Burk
b2f9375237
pa_front: bump version to 19.5.1 for release
2016-09-22 09:29:36 -07:00
Phil Burk
cacc5dc4ba
pa_mac_core: use MAX(inputFrames,outputFrames)
...
Double-check whether the stream does ouput before draining the buffer.
2016-09-22 09:05:38 -07:00
Phil Burk
a38df79293
pa_mac_core_blocking: Fix timeout.
...
Change alignment of comment.
2016-09-21 15:46:30 -07:00
Ross Bencina
1cf10aa43f
remove Microsoft copyright include files from src/hostapi/wasapi/mingw-include
2016-09-17 18:21:52 +10:00
Phil Burk
f17d549093
pa_linux_alsa: fix hang in callback caused by abort
...
The author of this patch is Alan Horstmann.
Fixes ticket #251
2016-09-14 08:50:33 -07:00
Phil Burk
0bc7cf9465
pa_mac_core_blocking: fix hang when running stream stopped
...
One thread was filling the buffer while
another thread was waiting for it to be empty.
Add thread safety warnings.
Fix ticket #252
2016-09-13 18:49:00 -07:00
Ross Bencina
05da7a854d
Merge branch 'winrt' into 'master'
...
Correction to WASAPI host API implementation for WinRT platform
Merged-on: https://assembla.com/code/portaudio/git/merge_requests/3772573
2016-09-11 17:38:12 +00:00
Phil Burk
a553478d71
PA_GIT_REVISION: new scripts to replace SVN revision
...
update_gitrevision.sh should be run before building on Mac or Linux.
2016-09-05 17:03:27 -07:00
dmitrykos
e1d4ec6664
wasapi: made ActivateAudioInterface_WINRT more universal in terms of getting other audio interfaces, for example IAudioEndpointVolume
2016-09-01 09:00:38 +03:00
Ross Bencina
d0d5020ddf
Merge branch 'rb-fix-pa-front-c99isms' into 'master'
...
Don't use C99 designated initializer syntax it's not C89 compatible
+1: Phil Burk
Merged-on: https://assembla.com/code/portaudio/git/merge_requests/3747023
2016-09-01 00:36:17 +00:00
dmitrykos
72dd5db968
wasapi: return E_NOINTERFACE in PaActivateAudioInterfaceCompletionHandler::QueryInterface, use C-style API for calling interface functions (in order to be unified with the rest of WASAPI code)
2016-08-29 09:54:49 +03:00
dmitrykos
319b19203a
wasapi: replaced InterlockedCompareExchange with InterlockedOr and added clarifying comment why Interlocked API is used
2016-08-26 22:31:45 +03:00
Ross Bencina
037e260d64
comment out C99 designated initializer syntax for versionInfo_ initializer. not C89 compatible
2016-08-26 19:42:09 +10:00
Ross Bencina
fce3367c23
remove trailing whitespace from end of lines
2016-08-26 19:33:31 +10:00
dmitrykos
dae0d7f8e7
wasapi: reverted the usage of Interlocked APIs for PaWasapiStream::running
2016-08-26 09:43:50 +03:00
dmitrykos
46bce3c39f
wasapi: use InterlockedXXX APIs to secure inter-thread r/w access to variables to avoid possible deadlocks or logic corruption
2016-08-24 22:04:17 +03:00
dmitrykos
ef449bb5bf
wasapi: more cleanup - normalized WIN32_WINRT to PA_WINRT, removed excessive declarations from SignalObjectAndWait, ActivateAudioInterfaceCompletionHandler set of functions
2016-08-14 19:01:20 +03:00
dmitrykos
326549c55e
wasapi: use Windows common Sleep() API instead of PA_Sleep()
...
use GetTickCount64() API which is awailable for Windows Store app instead of _ftime_s()
remove WAVEFORMAT and WAVEFORMATEX declaration and use the corresponding Windows include file instead
2016-08-14 10:52:36 +03:00
dmitrykos
26c0dc4458
wasapi: code cleanup, removed compiler warnings
2016-08-08 21:09:15 +03:00
dmitrykos
2e7545f17f
wasapi: ported to WinRT (UWP)
...
os: compatibility fixes for compilation of PortAudio as Windows Store library (only WASAPI hostapi is compatible with Windows Store APIs)
2016-08-03 22:39:41 +03:00
Phil Burk
315309f60e
Mac: test adjustable number of channels.
2016-05-21 17:25:18 -07:00
Phil Burk
110043f842
Fix assert when reading or writing with non-power of 2 channels.
2016-05-18 22:29:45 -07:00
Phil Burk
ed463ba658
Normalize all the line endings
2016-05-18 22:13:20 -07:00
Phil Burk
e18ea33d22
pa_mac_core.c: Removed some comments. Cleaned up logic.
2016-05-16 22:30:28 -07:00
Phil Burk
09588cc5d6
pa_mac_core: stop stream instead of asserting
...
Bug: 158
2016-05-01 18:10:23 -07:00
dmitrykos
f7b2d1542f
wasapi: correction to the previous commit
2015-10-21 14:25:07 +00:00
dmitrykos
58eca02986
wasapi: workaround to avoid PaWasapi_Initialize() failure when enumerating devices and device fails to report min/default periods with IAudioClient::GetDevicePeriod(): ignore error and assign WASAPI common known period values for min/default
2015-10-20 16:02:39 +00:00