ff8053e7e8
commit c5d2c51bd6fe354d0ee1119ba932bfebd3ebfacc
Merge: eb6b5e2 ab66573
Author: Phil Burk <burkphil@gmail.com>
Date: Fri Apr 26 16:48:28 2019 +0000
Merge branch 'removeasio' into 'master'
asio: remove unnecessary ASIO SDK files
+1: Phil Burk
Merged-on: https://assembla.com/code/portaudio/git/merge_requests/7559751
commit ab665735ad887dbfb7fdc6b4cbbec90d2124f011
Author: Phil Burk <philburk@mobileer.com>
Date: Fri Apr 26 09:43:52 2019 -0700
asio: remove unnecessary ASIO SDK files
These files should be obtained directly from Steinberg.
commit eb6b5e259850e067ed66698e084c248e0cd13f30
Merge: d7229de c40b969
Author: Dmitry Kostjuchenko <dmitrykos@neutroncode.com>
Date: Fri Apr 5 07:42:43 2019 +0000
Merge branch 'winrt' into 'master'
WASAPI: Add paWinWasapiAutoConvert flag, which sets AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM | AUDCLNT_STREAMFLAGS_SRC_DEFAULT_QUALITY for Shared mode streams.
Merged-on: https://assembla.com/code/portaudio/git/merge_requests/7481081
commit c40b969e1b5fc555d5876c466b39d463ae2a1c1d
Author: dmitrykos <dmitrykos@neutroncode.com>
Date: Fri Apr 5 10:38:44 2019 +0300
wasapi: some cleanup of Jörn Heusipp's patch
commit aa0748a5b59491ba2cfa9943825653cde6e1f748
Author: Jörn Heusipp <osmanx@problemloesungsmaschine.de>
Date: Mon Apr 1 09:05:18 2019 +0200
wasapi: Add paWinWasapiAutoConvert flag, which sets AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM | AUDCLNT_STREAMFLAGS_SRC_DEFAULT_QUALITY for Shared mode streams.
AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM is required in order to allow for sample rates other than the system mixer configured sample rate. Otherwise, WASAPI is limited to a single system configured sample rate in Shared mode, which is a severe limitation compared to other APIs supported by PortAudio.
AUDCLNT_STREAMFLAGS_SRC_DEFAULT_QUALITY is recommended to be used additionally.
See <https://docs.microsoft.com/en-us/windows/desktop/coreaudio/audclnt-streamflags-xxx-constants> for documentation.
GetClosestFormat is modified to exit early when paWinWasapiAutoConvert is set in Shared mode because we trust the WASAPI conversions to succeed.
We restrict these changes to Windows 7 (and later) because documentation does not clearly state the minimum required Windows version. Windows Vista was not available for testing.
This patch has been in production in OpenMPT (<https://openmpt.org/>) since version 1.27.01.00 (2017-09-27). PortAudio WASAPI Shared mode is the default output device type in OpenMPT for Windows 7 (and later) and also for Wine setups.
commit d7229de83beba7392c7195de653d517d8e57d35d
Merge: 7bfa11f d99940b
Author: Dmitry Kostjuchenko <dmitrykos@neutroncode.com>
Date: Fri Apr 5 06:53:39 2019 +0000
Merge branch 'winrt' into 'master'
WASAPI: Fix failing with unsupported format error if PaWasapiStreamCategory is other than default
Merged-on: https://assembla.com/code/portaudio/git/merge_requests/7376301
commit d99940b26eb6a48d1a069b3195a50d06badabb46
Author: dmitrykos <dmitrykos@neutroncode.com>
Date: Sat Mar 9 12:43:14 2019 +0200
wasapi: set IAudioClient2+ properties before GetClosestFormat() in order to avoid failing with unsupported format error if PaWasapiStreamCategory is other than default, for example eAudioCategorySpeech
commit 7bfa11f463cfa943aced5ea2f3542f5307417afb
Merge: b7870b0 96f81c0
Author: Dmitry Kostjuchenko <dmitrykos@neutroncode.com>
Date: Sat Feb 23 21:04:57 2019 +0000
Merge branch 'winrt' into 'master'
WASAPI: Improved audio output stability in Exclusive mode for some UAC2 DACs
Merged-on: https://assembla.com/code/portaudio/git/merge_requests/7327181
commit 96f81c0ec1f7bd50f29d7298d927bfeb503ac0f3
Author: dmitrykos <dmitrykos@neutroncode.com>
Date: Sat Feb 23 23:02:38 2019 +0200
wasapi: Improved audio output stability in Exclusive mode for some UAC2 DACs with custom USB Audio driver by calculating buffer periodicity being equal (or almost equal) to the requested user frames (Capturing is excluded from this implementation as it has not yet been tested but can be included if tests show the improvement), cleanup/refactor some code to make it better readable
commit b7870b08f770c1e84b754e662c08b6942ff7d021
Merge: 76e31c2 83ab55b
Author: Dmitry Kostjuchenko <dmitrykos@neutroncode.com>
Date: Mon Dec 24 12:22:35 2018 +0000
Merge branch 'winrt' into 'master'
WASAPI: new API PaWasapi_SetStreamStateHandler(), header cleanup and minor fix
Merged-on: https://assembla.com/code/portaudio/git/merge_requests/7129721
commit 83ab55b62d707c11d18238b1928e0297d67e4767
Author: dmitrykos <dmitrykos@neutroncode.com>
Date: Mon Dec 24 14:20:29 2018 +0200
wasapi: new API PaWasapi_SetStreamStateHandler() to be able to catch WASAPI error inside the rendering thread loop (and handle it gracefully, for example restart the stream), protect from dangling pointer during device list update, cleanup header
commit 76e31c2a24eebfa95a704f711dd707a2635af77e
Merge: dfd7803 95e86c3
Author: Etienne Dechamps <etienne@edechamps.fr>
Date: Sat Dec 15 15:06:22 2018 +0000
Merge branch 'winbuild' into 'master'
Improvements to CMake build system on Windows
Merged-on: https://assembla.com/code/portaudio/git/merge_requests/7040151
commit 95e86c307b9cd20180f3c1f52853c3424ce62ae5
Author: Etienne Dechamps <etienne@edechamps.fr>
Date: Sun Nov 25 12:16:21 2018 +0000
Install pa_win_waveformat.h with MME, DirectSound and WASAPI.
pa_win_wmme.h, pa_win_ds.h and pa_win_wasapi.h all include
pa_win_waveformat.h. If the latter is not installed, none of these
headers are usable.
commit 0baa1e2e31f37bac2883ea59e50b76037271426d
Author: Etienne Dechamps <etienne@edechamps.fr>
Date: Sun Nov 25 10:28:56 2018 +0000
Treat DirectSound just like any other standard Windows SDK library.
Currently the CMake build system goes through complicated logic to
find the DirectX SDK. This is completely unnecessary, because modern
versions of the Windows SDK include dsound.h and dsound.lib in the
standard paths, so it can be treated just like the other Windows OS
libraries and we can safely assume it is available.
This commit simplifies the logic and will allow the vcpkg portaudio
port to align with portaudio stream, by getting rid of this patch:
|
||
---|---|---|
.. | ||
README.txt | ||
pablio.c | ||
pablio.def | ||
pablio.h | ||
test_rw.c | ||
test_rw_echo.c | ||
test_w_saw.c | ||
test_w_saw8.c |
README.txt
README for PABLIO Portable Audio Blocking I/O Library Author: Phil Burk PABLIO is a simplified interface to PortAudio that provides read/write style blocking I/O. PABLIO is DEPRECATED. We recommend that people use the blocking I/O calls that are now part of the PortAudio API. These are Pa_ReadStream() and Pa_WriteStream(). http://portaudio.com/docs/v19-doxydocs/blocking_read_write.html /* * More information on PortAudio at: http://www.portaudio.com * Copyright (c) 1999-2000 Phil Burk * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files * (the "Software"), to deal in the Software without restriction, * including without limitation the rights to use, copy, modify, merge, * publish, distribute, sublicense, and/or sell copies of the Software, * and to permit persons to whom the Software is furnished to do so, * subject to the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /* * The text above constitutes the entire PortAudio license; however, * the PortAudio community also makes the following non-binding requests: * * Any person wishing to distribute modifications to the Software is * requested to send the modifications to the original developer so that * they can be incorporated into the canonical version. It is also * requested that these non-binding requests be included along with the * license above. */