Commit graph

504 commits

Author SHA1 Message Date
Ross Bencina
8e9e507e12 hotplug dsound: initial cut of properly working connectionIds. it works. it pulls device information from each device every time, and then reuses the old connectionId if the GUID is the same. This has the advantage of always pulling updated channel count information. it has the disadvantage of re-polling every device, not just newly inserted/removed ones. the alternative is to reuse the existing device information by copying it over, which could be done. 2016-09-03 01:57:29 +10:00
Ross Bencina
8d285faa5e hotplug dsound: remove resolved fixme comment 2016-09-03 00:30:18 +10:00
Ross Bencina
6840cda9ad hotplug: extended doc comments for ScanDeviceInfos, CommitDeviceInfos, DisposeDeviceInfos. Added requirement that commit and dispose should be implemented such that they can't fail (this is currently the case with DirectSound and WDM/KS implementations). 2016-09-03 00:11:56 +10:00
Ross Bencina
5c5d4fb711 hotplug directsound: factor out freeing of device info array to FreeDeviceInfos. Delete some unused variables. 2016-09-02 23:29:20 +10:00
Ross Bencina
9562fb8074 hotplug: further refinement of API doc comments 2016-09-02 21:47:43 +10:00
Ross Bencina
ec5b0687a8 fix .def file: rename Pa_RefreshDeviceList --> Pa_UpdateAvailableDeviceList 2016-09-02 21:12:10 +10:00
Ross Bencina
b45ec9ed0a Moved hotplug function prototypes from random locations to new header file src/common/pa_hotplug.h. Added draft documentation and licence headers. In pa_front.c moved devices changed code next to refresh device list code. 2016-09-02 20:52:42 +10:00
Ross Bencina
d41ba780b2 hotplug: added connectionId parameter to PaDeviceInfo and bumped struct version number. added PaUtil_MakeDeviceConnectionId() function and used it to initialize connectionId in all host APIs. updated patest_refresh_device_list to display connection id. NOTE: persistent connection ids have not been implemented in dsound and wdmks, so refreshing the device list will change connection ids. 2016-09-02 20:27:39 +10:00
Ross Bencina
abfcd708b4 hotplug: first cut doc comments for PaDevicesChangedCallback and Pa_SetDevicesChangedCallback 2016-09-02 19:43:27 +10:00
Ross Bencina
3f7c315f22 hotplug: rename Pa_UpdateAvailableDeviceList() to Pa_RefreshDeviceList(). Clean up doc comment for Pa_RefreshDeviceList(). 2016-09-02 19:27:47 +10:00
Ross Bencina
9761960aa5 wdmks hotplug: Make CommitDeviceInfos fail-safe by removing allocation of temporary. Factored out device info array freeing function from DisposeDeviceInfos into separate FreeHostApiDeviceInfos. 2016-09-02 19:08:39 +10:00
Ross Bencina
23b4bdd49a wdm/ks hotplug: fixed two bugs in CommitDeviceInfos() Firstly, hostApi->info.deviceCount was being zeroed before it was used to specify how many devices to free, so zero devices/filters would be freed. Secondly, a ptr ptr (**) to temporary scan results localScanResults was being pased to DisposeDeviceInfos() instead of a ptr (*). 2016-09-02 18:52:22 +10:00
Ross Bencina
89f8f75a27 Merge of old SVN hotplug branch into current git HEAD. Includes hotplug support for DirectSound, WDM/KS. Both are working running in debugger but WDM/KS seems to be crashing in stand-alone build. I removed the use of struct _PaInternalInfo in hotplug/pa_front.c to reduce the size of the change. pa_win_dsound.c involved the most intricate changes due to other changes that had been made in the mean time. I've also initialized function ptrs ScanDeviceInfos, CommitDeviceInfos, DisposeDeviceInfos so this should build on all platforms. 2016-08-27 17:51:40 +10:00
Phil Burk
7edc5cb655 Merge branch 'loopback' into 'master'
Loopback: fix warnings that prevent compilation

Merged-on: https://assembla.com/code/portaudio/git/merge_requests/3604853
2016-08-03 00:53:41 +00:00
Phil Burk
cf4ef2ce19 Loopback: fix warnings that prevent compilation
Add newline in biquad_filter.c
Add integer assert with tolerance.
2016-07-26 19:10:23 -07:00
Phil Burk
e111b3a269 Merge branch 'ticket_229' into 'master'
Fix assert when reading or writing with non-power of 2 channels.

fixed #229

Merged-on: https://assembla.com/code/portaudio/git/merge_requests/3299213
2016-05-29 19:22:24 +00:00
Phil Burk
e89441f968 Restore paqa_devs 2016-05-21 17:31:53 -07:00
Phil Burk
36a6c92caa Revert paqa_devs 2016-05-21 17:30:21 -07: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
21d185f815 Merge branch 'fixeol' into 'master'
Add .gitattributes to fix EOL

Merged-on: https://assembla.com/code/portaudio/git/merge_requests/3299183
2016-05-19 05:20:42 +00:00
Phil Burk
ed463ba658 Normalize all the line endings 2016-05-18 22:13:20 -07:00
Phil Burk
b99790cb7c Add .gitattributes to fix EOL 2016-05-18 22:05:13 -07:00
Phil Burk
89d176178b Merge branch 'noassert' into 'master'
pa_mac_core: stop stream instead of asserting

Merged-on: https://assembla.com/code/portaudio/git/merge_requests/3218623
2016-05-18 03:42:26 +00:00
Phil Burk
e18ea33d22 pa_mac_core.c: Removed some comments. Cleaned up logic. 2016-05-16 22:30:28 -07:00
Phil Burk
06ff140a61 Merge branch 'testgit2' into 'master'
test git changesets

Merged-on: https://assembla.com/code/portaudio/git/merge_requests/3221493
2016-05-03 01:26:54 +00:00
Phil Burk
cc1908fafb Another change and commit to the same branch 2016-05-02 09:13:22 -07:00
Phil Burk
274a289911 test git changesets 2016-05-02 09:12:05 -07:00
Phil Burk
09588cc5d6 pa_mac_core: stop stream instead of asserting
Bug: 158
2016-05-01 18:10:23 -07:00
Phil Burk
6c11a007c5 Merge branch 'ignorebin' into 'master'
gitignore: add more files from configure and make

Merged-on: https://assembla.com/code/portaudio/git/merge_requests/3218493
2016-05-01 22:42:50 +00:00
Phil Burk
83891bff3f gitignore: add more files from configure and make 2016-05-01 15:39:03 -07:00
Phil Burk
a68bacd2cf Merge branch 'ignore' into 'master'
Add .gitignore for C++

Merged-on: https://assembla.com/code/portaudio/git/merge_requests/3218363
2016-05-01 19:59:13 +00:00
Phil Burk
faff433ba6 Add .gitignore for C++ 2016-05-01 12:54:03 -07:00
philburk
13b2159821 patest_out_underflow: cleanup
Replace some tabs.
Print overflow under stress.
Prevent accidental overrange of phases array.
2016-04-10 18:12:03 +00:00
philburk
3d4139cb00 Update docs for building on Linux 2016-02-15 17:06:54 +00:00
philburk
d0628e9238 Files needed for compiling on El Capitan.
These files were autogenerated using autoreconf based
on changes from the previous commit.
2016-01-04 17:22:56 +00:00
philburk
6e9b37491a Add support for 10.11 SDK so PortAudio can compile on Mac.
Also allow deprecated APIs until we can remove them.

Note that this commit only includes the source files that were changed.
The next commit will include the files that are generated by autoreconf.
So look at this commit to see what really changed.
2016-01-04 17:22:00 +00: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
dmitrykos
4e194eaecf wasapi: support for setting the WASAPI's AudioClientProperties options via PaWasapiStreamInfo struct (__IAudioClient2_INTERFACE_DEFINED__ must be defined by Windows SDK (for Windows 8 and up) to have effect from these new options, otherwise it will be noop) 2015-10-19 11:03:31 +00:00
rbencina
fb929ad5fb update doxygen main page to reference developer guidelines and implementation style guidelines on the Wiki 2015-09-06 13:17:05 +00:00
rbencina
03db857ef7 checkfiledocs.py: blacklist mingw-include from doc check 2015-09-06 12:43:06 +00:00
rbencina
01ae699291 checkfiledocs.py: only check source code under src and include 2015-09-06 12:37:38 +00:00
rbencina
19d0819931 Issue #234 fixed typo in configure and configure.in affecting mingw builds. Rename: pa_win_wdmks_util.o --> pa_win_wdmks_utils.o 2015-09-06 10:55:01 +00:00
rbencina
ebffcefcb9 removed bindings/java from doxygen generated documentation 2015-09-06 10:26:16 +00:00
gineera
c0c0cb1414 Pa_process: Fix output channel adaption by not skipping the conversion when the host and user number-of-channels are not equal. Reported by Leif Asbrink when using an envy24 soundcard on Linux at it's native Int32 format with 1 or 2 channels. Corresponding fix for input already in r1913. 2015-04-19 18:48:38 +00:00
philburk
199e88fa66 Add Pa_GetVersionInfo()
Add scripts to update pa_svnrevision.h
2015-04-10 04:00:09 +00:00
philburk
05bcd37d1f Test adding a second file with SVN keywords. 2015-03-12 16:23:11 +00:00
philburk
aeea9954a6 Used propset to enable SVN keywords on test file. 2015-03-12 16:21:04 +00:00
philburk
9a9d86d87d Experiment with the SVN version keywords. 2015-03-12 16:16:44 +00:00