Ross Bencina
0b3bd90bad
Fix signed/unsigned mismatch (wmme device ids are unsigned) and improve semantics by explicitly setting the fallback default device to WAVE_MAPPER (which has value -1).
2016-09-10 23:57:57 +10:00
Ross Bencina
cb766ba622
initialize uninitialized variables to suppress compiler warnings (values would never have been used
2016-09-10 23:53:04 +10:00
Ross Bencina
1a95d6790b
Cleanup: Check return code from waveOutMessage when polling for preferred devices, don't assume that an OUT parameter is unchanged on error. Move #define DRVM_MAPPER_PREFERRED_GET to top of file with other #defines.
2016-09-10 23:43:30 +10:00
Ross Bencina
46f97c7c20
Merge branch 'master' into hotplug
2016-09-03 14:19:23 +10:00
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
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
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
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
dmitrykos
319b19203a
wasapi: replaced InterlockedCompareExchange with InterlockedOr and added clarifying comment why Interlocked API is used
2016-08-26 22:31:45 +03: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
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
039bc21bda
pa/wmme: avoid potential (but highly unlikely) overflow in buffer size in call to WideCharToMultiByte if a device name length exceeds INT_MAX. should also fix compiler warning about size_t to int assignment.
2015-01-21 06:52:11 +00:00
rbencina
b3216e814b
disabled deprecated API warning for GetVersionEx in dsound, wmme and wdmks host APIs.
2015-01-21 06:24:32 +00:00
rbencina
7f4f7e44cb
PA/CoreAudio: fixed copy-pasto: last host error was being associated with paInDevelopment host api not paCoreAudio
2014-11-05 01:03:57 +00:00
robiwan
6733684fca
Added more debugging info in wdmks/pa_win_wdmks.c
2014-08-28 05:59:40 +00:00
robiwan
d7085cb226
Committing Lelands patch for WDM-KS, should take care of some of the problems referenced here http://music.columbia.edu/pipermail/portaudio/2014-August/016246.html
2014-08-15 06:35:32 +00:00
bejayoharen
55adee0a90
olivier's device name patch for os x
2014-06-28 16:28:17 +00:00
rbencina
4c720adbfa
pa_win_ds.c converted tabs to spaces (only a small amount of code was incorrectly using tabs).
2014-04-11 05:46:40 +00:00
rbencina
666f30ea67
DirectSound: correctly output device names as UTF-8 when compiled with UNICODE defined. Note that this patch may not be correct if UNICODE is not defined. Patch from Tobias Erichsen. See ticket #224 for details.
2014-04-11 05:44:50 +00:00
rbencina
9222d8bfb4
pa_win_wmme.c: converted tabs to spaces (just a few sections)
2014-04-11 05:31:13 +00:00
rbencina
7a3b2d1dd9
WMME: correctly convert device names to UTF-8, see ticket #224 . Thanks to Tobias Erichsen for the patch.
2014-04-11 05:25:48 +00:00
robiwan
4aa340a57e
CMake: Added PA_WDMKS_NO_KSGUID_LIB to WDMKS and solution folders
...
WDMKS: Support for default device (see caveat for input devices though in ScanDeviceInfos)
Added possibility to set channel mask
2014-04-09 14:27:21 +00:00
gineera
e62b586273
Jack: Add a port-type filter expression to calls to jack_get_ports() so that only audio ports are listed (removing eg Midi etc) as reported by 'sqweek'.
2013-11-15 12:27:07 +00:00
gineera
e2662ae2ad
Alsa: Revise the use of the environment variable 'PA_ALSA_PLUGHW' so it correctly influences the Device-List and the capabilities reported. Also rename a mis-leading variable and add one additional DEBUG line.
2013-10-17 12:44:09 +00:00
rbencina
c23e362fcb
pa_mac_core.c line 664 fixed incorrect memset size (was using sizeof(ptr) not sizeof(struct type)
2013-08-29 00:36:56 +00:00
gineera
3029485a0e
Alsa: Add function to prevent duplicate parts in the visible pa device name string, that occur when the pcm-device name starts with the card name (since they are both used). Achieved by trimming the pcm-device string beginning.
2013-08-27 17:14:51 +00:00
gineera
bbf60ab137
Alsa: Fix memory leak as nonMmapBuffers were not freed (since change to realloc). Clean out corresponding dead code chunk.
2013-08-22 22:01:17 +00:00
gineera
d17353a602
Alsa: Rename some variables in pa_linux_alsa where the meaning is mis-leading or wrong in the Alsa context. Also tweak one debug message and a few typos.
2013-08-22 19:43:07 +00:00
gineera
b1a62661bf
Alsa: Fix handling of poll descriptors in PaAlsaStream_WaitForFrames(). Otherwise if capture signals before playback a duplex stream could poll the wrong descriptor, causing a loop (reported by Alexander Kartashov).
2013-08-13 20:37:04 +00:00
gineera
80c77d9ae4
OSS: revise default latency reporting: previous fixed values could not actually be achieved with OSS power-of-2 sizes. Instead try a configuration and correctly report the default latency based on one less than the number of fragments; also fix the stream component 'bufSz' calculation.
2013-06-08 19:30:41 +00:00
gineera
28f9ee0965
Alsa: revise latency use and calculations, since the latency should be equivalent to one Alsa period less than the Alsa ringbuffer (was based on the whole). Also fixes failure if zero latency was specified.
2013-06-08 19:12:25 +00:00
rbencina
a51584e3b1
factored out InitPaDeviceInfoFromAsioDriver function. skip device rather than failing entire init process if a single ASIO driver returns an error during init. This was happening with MOTU devices if the device wasn't present. See ticket #221
2013-05-02 01:06:01 +00:00
robiwan
dd82ba9976
Fix for WaveRT WDM drivers that do not support memory mapped position register, and correct 8 channel speaker geometry mapping.
2012-12-28 16:54:25 +00:00
rbencina
b1f0cc8829
fix assertion failures with blocking io in ASIO host api. host buffer formats were not inited with non-interleaved flag in parameters to blocking i/o buffer processor
2012-12-04 14:45:31 +00:00
rbencina
b054f44292
clarified and corrected comment
2012-11-11 13:27:22 +00:00