Experiment with moving example code into its own folder.
Note that this revision needs to have autoreconf run.
I tried to do that on Mac but it failed. So I will try on Linux.
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.
rossb [Thu, 25 Aug 2011 17:44:01 +0000 (17:44 +0000)]
added stream callback documentation describing real-time constraints including not calling non-real-time code, and that it should be safe to consume 70% or more of available CPU time in the callback. resolves #96
rossb [Thu, 25 Aug 2011 15:59:32 +0000 (15:59 +0000)]
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).
rossb [Thu, 18 Aug 2011 11:19:36 +0000 (11:19 +0000)]
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
philburk [Thu, 18 Aug 2011 08:44:03 +0000 (08:44 +0000)]
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.
rossb [Thu, 11 Aug 2011 12:18:02 +0000 (12:18 +0000)]
Updated patest_suggested_vs_streaminfo_latency test. Python script now creates plots for a number of different buffer sizes. Supports testing at different sample rates.
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
this should resolve issues on OS X with systems where only sdk 10.6 is available and includes a likely fix for future simillar issues with 10.7. See ticket 179.
rossb [Wed, 11 May 2011 10:00:52 +0000 (10:00 +0000)]
Replaced MM timer with a high priority thread for audio compute, based on a patch by Dmitry Kostjuchenko. Reason: there is one global MM timer thread per process and doing audio compute in it was interfering with timer accuracy and also with running multiple DSound streams. The old MM timer based implementation is still available if you define PA_WIN_DS_USE_WMME_TIMER -- this may be removed in future.
rossb [Mon, 9 May 2011 20:05:34 +0000 (20:05 +0000)]
refactored COM initialization for dsound, asio and wasapi to new source file pa_win_coinitialize.c. fixes com uninitialisation bugs in error cases. resolves ticket #128
rossb [Mon, 2 May 2011 17:07:11 +0000 (17:07 +0000)]
renamed PaUtil_GetBufferProcessorInputLatency to PaUtil_GetBufferProcessorInputLatencyFrames and PaUtil_GetBufferProcessorOutputLatency to PaUtil_GetBufferProcessorOutputLatencyFrames. see ticket #161
dmitrykos [Tue, 8 Mar 2011 17:20:07 +0000 (17:20 +0000)]
wasapi:
- fixed warning of incompatible type usage when ring-buffer is used for blocking interface
- fixed compilation using MSYS with MinGW compiler (regenerate makefile with configure)
philburk [Sun, 6 Mar 2011 00:35:24 +0000 (00:35 +0000)]
Add include string.h to loopback test.
Use full duplex if input and output device the same.
Check for format conversion buffer overflow in case of huge framesPerBuffer.