Commit graph portaudio/src
Author SHA1 Message Date
rbencina
17e4472219 zero asio host api rep immediately after init. prevents (unlikely) issue with trying to free uninited allocations if com init fails during Pa_Initialize() 2012-04-02 07:58:04 +00:00
rbencina
e2f0932362 explicit casts for double->int. comment cleanups. fixed an bug where uninited pointer could be freed during teardown if memory allocation failed during directsound host api init (extremely unlikely). 2012-04-02 07:45:18 +00:00
rbencina
21f039bd09 fixed typo in comment. added whitespace. 2012-04-02 07:20:04 +00:00
dmitrykos
1526a5bfc7 alsa: fix paSwapEndian applied to non-24bit formats due to incorrect logic of tests 2012-03-28 16:14:49 +00:00
gineera
00502bdef0 Alsa: add a workaround for stuttering/xruns when using default device on Alsa-lib older than 1.0.16 (caused by zero 'revents' when poll() returns). 2012-03-01 21:20:07 +00:00
robiwan
1c9b4fe4b9 WDM-KS:
- Fixed so default sample rate prioritizes frequencies earlier in search order
- Changed WIN32 to _WIN32 (as it is always defined, both in x86 & x64 builds)
2012-02-25 07:43:10 +00:00
robiwan
32e0080310 ASIO:
- Certain drivers write over the available memory of PaAsioDriverInfo, now a padding area makes sure
  the stack doesn't get corrupted.
WDM-KS:
- Corrected capture event handling
2012-02-23 15:29:24 +00:00
robiwan
6803965617 General:
- Change of CMake options to utilize built in header configuration support (PA_USE_*)
- Added CMakeLists.txt for examples
- Added paex_ocean_shore.c as an example how to use PA ring buffer for lock-free communication with the audio callback
WDM-KS:
- Added better default sample rate support
- Made sure that all pins now have a name, even if only "Input" or "Output"
- IsUSBDevice fixed acc. to Alex Lessard's suggestion
- IsNameUSBAudioDevice fixed similarly
2012-02-22 12:20:26 +00:00
dmitrykos
d998066452 alsa:
- support for sub-devices;
- fixed 24-bit format support for some devices which on little-endian machine operate only in big-endian format, example of such device is Audio4DJ which supports only SND_PCM_FORMAT_S24_3BE (for this patch implemented support only for 24-bit audio samples although other formats may be added in case of necessity and if such devices exist);
! special thanks to Owen Williams from Mixxx project who tested these changes/fixes on real Audio4DJ device.
2012-02-16 16:59:03 +00:00
dmitrykos
341eb04550 wasapi:
- fixed possible buffer overrun inside WASAPI for Output poll-driven mode according ticket #196 (thanks to Ross Bencina for spotting this and proposing the solution)
2012-02-16 15:02:08 +00:00
dmitrykos
9bc432b603 wasapi:
- fixed device name incorrect in case it contains non-Latin characters (thanks to Robert Bielik for proposed solution), now it is converted to UTF-8 encoded string
- fixed damaged audio (pops & clicks) for Input exclusive event-driven mode if specified latency was below 23 ms
2012-02-16 14:49:28 +00:00
robiwan
c5874f23c4 Merged WaveRT branch (excluding stuff pertaining to ticket #169) 2012-02-14 09:32:57 +00:00
rossb
0a05ae27fe fixed bug in coreaudio host api: suggested latency of zero with fixed user buffer size resulted in min supported buffer size instead of requested user buffer size 2012-01-11 13:22:50 +00:00
rossb
4b2f4dcd37 added function to query core audio buffer size range 2012-01-11 13:03:11 +00:00
rossb
c1390f8c18 fixed regression in r1718 (PA/coreaudio) where PA callback timestamps would be offset by massive latency (frames interpreted as seconds) if the initial query for actual device sample rate failed. This checkin reinstates the use of nominal sample rate as default for latency calculations when actual sample rate query fails. 2011-12-27 08:58:59 +00:00
alan_horstmann
56f148f7b8 Correct some entries in the devices 'predefinedNames' list - 'dmix' device is always only for playback. This removes an Alsa-lib dmix error message during Portaudio initialization. 2011-12-08 19:43:29 +00:00
rossb
e996fc8ff6 Implemented host-API specific mechanism for setting DirectSound buffer sizes in frames. resolves #129 2011-11-24 18:11:33 +00:00
rossb
d60f24abc5 updated ASIO-README.txt closes ticket #8 2011-11-20 07:12:10 +00:00
rossb
24f64176e7 name therapy: suggestedLatency => targetBufferingLatency 2011-11-10 14:51:15 +00:00
rossb
434f36c1c7 name therapy: renamed suggestedLatencyFrames to targetBufferingLatencyFrames 2011-11-10 13:59:53 +00:00
rossb
4b1aa56f00 use bufferMaxSize for defaultHighLatency in asio impl 2011-11-10 13:37:05 +00:00
rossb
002db0d9ff added comments explaining why ticket #199 can't be fixed 2011-11-10 08:34:00 +00:00
rossb
6b8eba624b fixed host buffer size algorithm to prefer multiples of user frames per buffer. fixes #93 2011-11-10 06:55:33 +00:00
rossb
fc14177a05 tweaked dsound callback time info calculations. implemented adc time. resolves #122 2011-11-10 05:47:50 +00:00
rossb
f519653f7e CoreAudio: if user specifies framesPerBuffer make sure host buffer is an integer multiple of user buffer 2011-10-20 09:40:12 +00:00
eblennerhassett
3130f5c1af Update header authors, copyrights, HPI url. Remove Ludwig Schwardt bugreport email. 2011-10-18 20:48:49 +00:00
eblennerhassett
82be702f17 Replace deprecated HPI functions and datatypes with current (HPIv4.08) for #197
Remove support for HPI < 3.5
Replace unused subsys pointer parameter with NULL.
2011-10-18 20:34:48 +00:00
philburk
9cdd56f5b4 Implement the Float32 to UInt8 converters.
The loopback test now passes cleanly for the first time on my PreSonus FireStudio.
Added tests for clip and dither flag combinations to loopback.
2011-09-01 22:08:32 +00:00
rossb
4939e41248 Fixed directsound PaDeviceInfo default latency and PaStreamInfo latency fields. Fixed host buffer size calculations based on suggestedLatency parameters. Switched to using 48kHz as default sample rate when other info isn't available. Fixed edge case in TimeSlice() where a full duplex stream could read data even though either input or output reported zero bytes available. Renamed some variables for clarity. Fixes ticket #160 (PaStreamInfo latency). Addresses #122 (although we're still using old default latency values from V18 codebase). Addresses #99 (correct interpretation of suggestedLatency down to zero). 2011-08-25 15:59:32 +00:00
philburk
b511280f66 Fix #164 by using if instead if ifdef PA_USE_* for unix builds. 2011-08-25 07:17:48 +00:00
rossb
16f40db4c8 wmme limit host buffer size to 32k. try to make host buffer size a factor of over-limit user buffer size. closes #189 2011-08-25 07:15:31 +00:00
rossb
6aa858c0f7 memory barrier change take two 2011-08-18 11:47:28 +00:00
rossb
924b65ed3d added comment about MSVC compiler barrier intrinsics 2011-08-18 11:29:40 +00:00
rossb
48cb6b726c updated memory barrier comment urgh 2011-08-18 11:24:15 +00:00
rossb
f22cec3d45 moved memory barriers as per this thread: http://music.columbia.edu/pipermail/portaudio/2011-August/012803.html . use volatile because MSVC Read/WriteBarrier() intrinsics are just compiler barriers, but MSVC will insert memory barriers if you use volatile. see: http://msdn.microsoft.com/en-us/library/ms686355(VS.85).aspx 2011-08-18 11:19:36 +00:00
philburk
fa8a45c845 Fix removal of device property change listeners.
This may fix some occasional memory corruption isses we were seeing in the loopback test.
I think the listeners may have gotten called after the stream was freed.
2011-08-18 08:44:03 +00:00
rossb
8f6b491bae revised WMME default latency on XP, Vista, Win7 to 90ms. Resolves ticket #80. Could go lower if we had more results from ticket #185 2011-08-18 05:58:56 +00:00
rossb
e0a057f28e set defaultHostApiIndex_ to zero when uninitialized 2011-08-18 03:43:51 +00:00
rossb
ebe9c54048 tweaked comment 2011-08-18 03:40:47 +00:00
rossb
58015f7b17 changed default host API logic to use first successfully initialized host api with a defined default input or output device. resolves ticket #49 2011-08-18 03:31:51 +00:00
rossb
903263d777 Fixed pa_win_wmme.c latency calculations to result in non-decreasing actual latency for increasing suggested latency. 2011-08-11 12:16:47 +00:00
philburk
948250370c Calculate timestamp offsets from device properties.
Combine multiple user buffers in a host buffer to honor longer latency.
2011-07-29 18:22:04 +00:00
rossb
e07e139e0d pa_win_wmme.c fixed bug in stream info inputLatency see ticket #178. improved interpretation of suggestedLatency based on recent discussions. see tickets #98 #99 #181 2011-07-28 12:03:09 +00:00
rossb
3ed32c7a04 paqa_latency: tweak parameter printing 2011-07-28 05:45:57 +00:00
philburk
6fa03e953c Fix broken build due to unused variables. Grrr. 2011-07-21 18:47:18 +00:00
philburk
edac3c99eb Fix improper calculation of big buffer sizes. See bug #187
This fixes a click heard with big buffers.
2011-07-21 18:44:58 +00:00
philburk
3aad8c0a9f Fixed broken Mac build by removing unused label. 2011-07-21 17:34:19 +00:00
philburk
e3387a98a7 Improve calculation of default latencies on Mac CoreAudio.
Allow very low buffer sizes if suggestedLatency is low.
Set actual latencies in StreamInfo.
2011-07-21 08:29:26 +00:00
rossb
982dd233f5 fixed regression in r1612 that broke coreaudio non-interleaved callback i/o 2011-06-30 12:48:08 +00:00
rossb
f95c722aad made ring buffer params const-correct 2011-06-17 08:01:02 +00:00