]> Repos - portaudio/log
portaudio
15 years agopaqa: removed non standard and unused #include <strings.h>. updated definitions of...
rossb [Fri, 4 Mar 2011 03:01:44 +0000 (03:01 +0000)]
paqa: removed non standard and unused #include <strings.h>. updated definitions of pi to double precision

15 years agofixed build breakage of patest_wmme_ac3.c on windows
rossb [Fri, 4 Mar 2011 02:28:55 +0000 (02:28 +0000)]
fixed build breakage of patest_wmme_ac3.c on windows

15 years agouse LoadLibraryA instead of LoadLibrary to support unicode build
rossb [Fri, 4 Mar 2011 01:45:06 +0000 (01:45 +0000)]
use LoadLibraryA instead of LoadLibrary to support unicode build

15 years agoAdd test for paInt8 to loopback test.
philburk [Thu, 3 Mar 2011 01:18:39 +0000 (01:18 +0000)]
Add test for paInt8 to loopback test.
Add separate input and output latency setting options.
Add timeout when waiting for stream to finish.

15 years agoFix random code insertion caused by buggy editor on Linux.
philburk [Wed, 2 Mar 2011 22:12:23 +0000 (22:12 +0000)]
Fix random code insertion caused by buggy editor on Linux.
Report actual buffer sizes.

15 years agoAdd latency control in loopback to fix Linux latency problems.
philburk [Wed, 2 Mar 2011 21:03:45 +0000 (21:03 +0000)]
Add latency control in loopback to fix Linux latency problems.

15 years agoRaise pop threshold for loopback test.
philburk [Wed, 2 Mar 2011 17:49:46 +0000 (17:49 +0000)]
Raise pop threshold for loopback test.

15 years agoApplied patches for Debian Linux for ticket 166.
philburk [Wed, 2 Mar 2011 17:03:23 +0000 (17:03 +0000)]
Applied patches for Debian Linux for ticket 166.

15 years agoSet default latency in an attempt to reduce full duplex glitching.
philburk [Wed, 2 Mar 2011 02:42:57 +0000 (02:42 +0000)]
Set default latency in an attempt to reduce full duplex glitching.

15 years agoAdd test for sample format conversion.
philburk [Wed, 2 Mar 2011 01:53:02 +0000 (01:53 +0000)]
Add test for sample format conversion.

15 years agoCheck for clipping even when loopback devices specified.
philburk [Tue, 1 Mar 2011 23:02:52 +0000 (23:02 +0000)]
Check for clipping even when loopback devices specified.

15 years agoAdd check for clipping and noise in loopback test.
philburk [Tue, 1 Mar 2011 22:48:50 +0000 (22:48 +0000)]
Add check for clipping and noise in loopback test.

15 years agoRemove unused variable in loopback.
philburk [Tue, 1 Mar 2011 09:36:31 +0000 (09:36 +0000)]
Remove unused variable in loopback.

15 years agoAdd loopback target to Makefile.
philburk [Tue, 1 Mar 2011 09:22:48 +0000 (09:22 +0000)]
Add loopback target to Makefile.
Fixes to loopback test for ALSA.

15 years agotweak changeme.txt to test SVN on Ubuntu
philburk [Tue, 1 Mar 2011 08:34:46 +0000 (08:34 +0000)]
tweak changeme.txt to test SVN on Ubuntu

15 years agoANother attempt at fixing configure make.
philburk [Tue, 1 Mar 2011 02:32:04 +0000 (02:32 +0000)]
ANother attempt at fixing configure make.

15 years agoTry to fix oddly broken Makefile.in
philburk [Tue, 1 Mar 2011 02:25:32 +0000 (02:25 +0000)]
Try to fix oddly broken Makefile.in

15 years agoANother C99 fix for loopback.
philburk [Tue, 1 Mar 2011 02:12:46 +0000 (02:12 +0000)]
ANother C99 fix for loopback.

15 years agoFix C99 error with modern for loops.
philburk [Tue, 1 Mar 2011 02:02:46 +0000 (02:02 +0000)]
Fix C99 error with modern for loops.

15 years agoAdded paloopback test to the automated build.
philburk [Tue, 1 Mar 2011 01:54:20 +0000 (01:54 +0000)]
Added paloopback test to the automated build.

15 years agoAss semicolon to fix "label at end of compound statement" error
philburk [Tue, 1 Mar 2011 00:49:52 +0000 (00:49 +0000)]
Ass semicolon to fix "label at end of compound statement" error
caused by pthread_cleanup_pop(1) macro.

15 years agoAdded patest_write_sine_nonint to Makefile.
philburk [Mon, 28 Feb 2011 23:56:48 +0000 (23:56 +0000)]
Added patest_write_sine_nonint to Makefile.
Check for paNonInterleaved on Mac and return paSampleFormatNotSupported.
Fix pa_minlat.c. Linux was complaining about not checking fgets return value.

15 years agoAdd a test for non-interleaved blocking writes.
philburk [Mon, 28 Feb 2011 22:27:39 +0000 (22:27 +0000)]
Add a test for non-interleaved blocking writes.
This is to address ticket 83.

15 years agoSpeed up loopback test by testing each sample rate then each buffer size, not full...
philburk [Sun, 27 Feb 2011 01:31:56 +0000 (01:31 +0000)]
Speed up loopback test by testing each sample rate then each buffer size, not full matrix.

15 years agoCleanup tests. Lots of small tweaks.
philburk [Sun, 27 Feb 2011 00:06:07 +0000 (00:06 +0000)]
Cleanup tests. Lots of small tweaks.
Delete the debug_ tests because they are V18 and are not needed.
We can just hack a V19 test if we need to debug.

15 years agowasapi: fixed the bug when on stream stop/start/stop/start sequence callback could...
dmitrykos [Mon, 21 Feb 2011 22:41:06 +0000 (22:41 +0000)]
wasapi: fixed the bug when on stream stop/start/stop/start sequence callback could be called with number of samples smaller than requested by user in Pa_OpenStream

15 years agofixed build by reverting 1604 revision where 'pa_ringbuffer.o' dependency was added...
dmitrykos [Mon, 21 Feb 2011 08:02:21 +0000 (08:02 +0000)]
fixed build by reverting 1604 revision where 'pa_ringbuffer.o' dependency was added to Makefile.in, modified configure.in for WASAPI build and added explicit 'pa_ringbuffer.o' dependency there instead

15 years agoTicket #132
rob_bielik [Thu, 17 Feb 2011 15:56:04 +0000 (15:56 +0000)]
Ticket #132

15 years agodoc tweak
rossb [Sat, 12 Feb 2011 13:33:18 +0000 (13:33 +0000)]
doc tweak

15 years agofixed compilation when Makefile is used by adding missing pa_ringbuffer.o object...
dmitrykos [Sat, 12 Feb 2011 12:45:27 +0000 (12:45 +0000)]
fixed compilation when Makefile is used by adding missing pa_ringbuffer.o object file

15 years agomoved src/common/pa_skeleton.c to src/hostapi/skeleton/pa_hostapi_skeleton.c. updated...
rossb [Sat, 12 Feb 2011 10:22:00 +0000 (10:22 +0000)]
moved src/common/pa_skeleton.c to src/hostapi/skeleton/pa_hostapi_skeleton.c. updated all build files accordingly.

15 years agoadded braces to clarify precedence in latency calculation expression
rossb [Sat, 12 Feb 2011 09:26:30 +0000 (09:26 +0000)]
added braces to clarify precedence in latency calculation expression

15 years agorenamed some latency variables to make it clear they are in frames not seconds
rossb [Sat, 12 Feb 2011 09:21:52 +0000 (09:21 +0000)]
renamed some latency variables to make it clear they are in frames not seconds

15 years agofixed stream info inputLatency and outputLatency calculations. PaUtil_GetBufferProces...
rossb [Sat, 12 Feb 2011 09:20:26 +0000 (09:20 +0000)]
fixed stream info inputLatency and outputLatency calculations. PaUtil_GetBufferProcessorOutputLatency returns latency in <frames>, code assumed it was in seconds.

15 years agofixed stream info inputLatency and outputLatency calculations. PaUtil_GetBufferProces...
rossb [Sat, 12 Feb 2011 09:19:37 +0000 (09:19 +0000)]
fixed stream info inputLatency and outputLatency calculations. PaUtil_GetBufferProcessorOutputLatency returns latency in <frames>, code assumed it was in seconds.

15 years agofixed stream info inputLatency and outputLatency calculations. PaUtil_GetBufferProces...
rossb [Sat, 12 Feb 2011 09:18:28 +0000 (09:18 +0000)]
fixed stream info inputLatency and outputLatency calculations. PaUtil_GetBufferProcessorOutputLatency returns latency in <frames>, code assumed it was in seconds.

15 years agoalsa:
dmitrykos [Fri, 11 Feb 2011 00:15:51 +0000 (00:15 +0000)]
alsa:
- implemented dynamic ALSA loading, you shall define PA_ALSA_DYNAMIC when compiling PortAudio library, by default PortAudio will use compile time linkage;
- added PA_ALSA_PATHNAME define to redefine ALSA library path and filename to some other name and location, has effect only together with PA_ALSA_DYNAMIC;
- added extension function (PaAlsa_SetLibraryPathName) which allows to set ALSA library path and filename during application run-time overwriting default set by PA_ALSA_PATHNAME during compilation;
- added API compatibility with Android OS (although ALSA may not be available on your device and usually requires 'root' access rights to open an audio device), some missing ALSA functions are replaced with stubs (needs more input from interested parties), to compile on Android you need to add ALSA headers (get it from Android GIT source-code tree) to compiler's searchable path.

15 years agoalsa:
dmitrykos [Wed, 9 Feb 2011 08:53:50 +0000 (08:53 +0000)]
alsa:
- fixed callback thread to exit normally if error condition was satisfied during stream processing (OnExit wasn't called), it was possible cause of crash if error happened inside the thread
- modified processing thread to timeout during poll() within around 2 seconds instead of 64 milliseconds, this will help to fix problems on systems with low processing power and possible CPU overloading, like portable ARM devices
- timeout of poll() will not cause stream to stop but will cause Alsa stream restart, poll timeout will now set 'xrun' event to 1

15 years agocorrected typos as per jf_menards's patch in ticket #58
rossb [Sat, 5 Feb 2011 14:33:29 +0000 (14:33 +0000)]
corrected typos as per jf_menards's patch in ticket #58

15 years agoadded #include portaudio.h to pa_mac_core.h so it is consistent with all other host...
rossb [Fri, 4 Feb 2011 10:41:58 +0000 (10:41 +0000)]
added #include portaudio.h to pa_mac_core.h so it is consistent with all other host-api specific headers. closes ticket #7

15 years agowasapi: - releasing Input/Output buffer if error occurred inside the processing routine
dmitrykos [Thu, 3 Feb 2011 15:37:12 +0000 (15:37 +0000)]
wasapi: - releasing Input/Output buffer if error occurred inside the processing routine

15 years agowasapi:
dmitrykos [Thu, 3 Feb 2011 15:15:44 +0000 (15:15 +0000)]
wasapi:
 - fixed blocking interface, Input and Output
 - improved Exclusive Input device latency tunning
 - applied path provided by Jean-François Charron (D-BOX Technologies Inc.) which improves handling of COM objects in multi-threaded environment and initialization stage which could under certain conditions return paNoError event when initialization failed

15 years agoremoved reference to todo list from main doxygen page
rossb [Wed, 2 Feb 2011 19:31:27 +0000 (19:31 +0000)]
removed reference to todo list from main doxygen page

15 years agoremoved/cleaned up doxygen @todo items. moved to TRAC
rossb [Wed, 2 Feb 2011 18:58:17 +0000 (18:58 +0000)]
removed/cleaned up doxygen @todo items. moved to TRAC

15 years agocleanup: changed if() to switch()
rossb [Wed, 2 Feb 2011 18:22:43 +0000 (18:22 +0000)]
cleanup: changed if() to switch()

15 years agoclarified documentation for PaTime and Pa_GetStreamTime
rossb [Wed, 2 Feb 2011 17:29:26 +0000 (17:29 +0000)]
clarified documentation for PaTime and Pa_GetStreamTime

15 years agoremoved old doxygen @todo comments
rossb [Tue, 1 Feb 2011 13:11:22 +0000 (13:11 +0000)]
removed old doxygen @todo comments

15 years agoremoved obsolete doxygen @todo comments
rossb [Tue, 1 Feb 2011 13:09:10 +0000 (13:09 +0000)]
removed obsolete doxygen @todo comments

15 years agoreferenced trac ticket #113 in doxy todo item
rossb [Tue, 1 Feb 2011 13:03:45 +0000 (13:03 +0000)]
referenced trac ticket #113 in doxy todo item

15 years agoreferenced trac tickets #35 and #112 in pa_converters.c todo items
rossb [Tue, 1 Feb 2011 12:58:26 +0000 (12:58 +0000)]
referenced trac tickets #35 and #112 in pa_converters.c todo items

15 years agoremoved doxygen TODO items from pa_asio implementation. migrated them to new trac...
rossb [Tue, 1 Feb 2011 12:52:14 +0000 (12:52 +0000)]
removed doxygen TODO items from pa_asio implementation. migrated them to new trac tasks: #103, #104, #105, #106, #107, #108, #109, #110, #111

15 years agocorrected doc comment
rossb [Tue, 1 Feb 2011 11:18:16 +0000 (11:18 +0000)]
corrected doc comment

15 years agosimplify doc tweak
rossb [Tue, 1 Feb 2011 11:17:36 +0000 (11:17 +0000)]
simplify doc tweak

15 years agowasapi: allow mono input/output streams be created when Blocking interface is used...
dmitrykos [Mon, 3 Jan 2011 18:33:32 +0000 (18:33 +0000)]
wasapi: allow mono input/output streams be created when Blocking interface is used. Thanks to Chris (c319chris@aol.com) for providing the patch.

15 years agotest svn access
philburk [Tue, 28 Dec 2010 23:03:56 +0000 (23:03 +0000)]
test svn access

15 years agowasapi: fixed audio device not released to other applications if WASAPI Exclusive...
dmitrykos [Sun, 26 Dec 2010 16:36:52 +0000 (16:36 +0000)]
wasapi: fixed audio device not released to other applications if WASAPI Exclusive stream is stopped but not yet closed. Bug does not affect Shared mode streams. Fixed possible object's leakage in situation when WASAPI thread encountered an error and stopped and user decided to start stream again without prior closing it.

15 years agowasapi: fixed audio gain is decreased by 2 when audio stream is opened for capturing...
dmitrykos [Sun, 26 Dec 2010 16:17:56 +0000 (16:17 +0000)]
wasapi: fixed audio gain is decreased by 2 when audio stream is opened for capturing and 1 (Mono) channel selected, this bug occurs only if non-Stereo input source used (mono mic).

15 years agocorrected Int24_To_Int16_Dither and implemented Int24_To_Int8_Dither, Float32_To_Int2...
dmitrykos [Sun, 26 Dec 2010 15:58:30 +0000 (15:58 +0000)]
corrected Int24_To_Int16_Dither and implemented Int24_To_Int8_Dither, Float32_To_Int24 to use all 'double' types for optimal code generation (not mixing double with floats)

15 years agodisable dither conversion when host input format is 32 bit and user format is 24...
rossb [Sun, 26 Dec 2010 06:43:58 +0000 (06:43 +0000)]
disable dither conversion when host input format is 32 bit and user format is 24 bit. the converter for this is unimplemented anyway, and the host won't ever be sending us better than 24 bit data, so no need to dither it.

15 years agocoreaudio: fixed incorrect value type used with OSAtomicOr32 API (xrunFlags were...
dmitrykos [Sat, 25 Dec 2010 13:26:17 +0000 (13:26 +0000)]
coreaudio: fixed incorrect value type used with OSAtomicOr32 API (xrunFlags were casted from long to unsigned int) which results in value truncation on systems where 'long' is 64 bits

15 years agodoc tweaks
rossb [Sat, 11 Dec 2010 03:11:35 +0000 (03:11 +0000)]
doc tweaks

15 years agoFirst checkin of new loopback unit test for PortAudio.
philburk [Fri, 12 Nov 2010 19:14:25 +0000 (19:14 +0000)]
First checkin of new loopback unit test for PortAudio.

15 years agoCommit fix for crash during full-duplex operation with PulseAudio. Reported by Al...
richard_ash [Fri, 12 Nov 2010 17:16:21 +0000 (17:16 +0000)]
Commit fix for crash during full-duplex operation with PulseAudio. Reported by Al Dimond, fix proposed by Ross Bencina, acked by Dmitry Kostjuchenko. This fixes a bug with Dmitry's zero-copy optimisations. Fix works in Audacity (where the bug was found), so comitting upstream.

15 years agoupdated documentation main page and added api overview page to documentation
rossb [Sun, 7 Nov 2010 23:57:36 +0000 (23:57 +0000)]
updated documentation main page and added api overview page to documentation

15 years agowasapi:
dmitrykos [Sun, 7 Nov 2010 08:23:51 +0000 (08:23 +0000)]
wasapi:
 - using WAVE_FORMAT_PCM for mono/stereo 8/16-bit stream configuration to avoid possible driver refusal upon audio client creation
 - modified default speaker mask for 5.1 and 7.1 configuration to _SURROUND (correct) versions, added default speaker configuration for 2.1, 4.1, 6.1 cases

15 years agowasapi: fixed audio stream failing to open on Windows 7 in Exclusive mode if suggeste...
dmitrykos [Sat, 6 Nov 2010 01:16:34 +0000 (01:16 +0000)]
wasapi: fixed audio stream failing to open on Windows 7 in Exclusive mode if suggestedLatency parameter is 0 and user framesPerBuffer is less than 3 milliseconds

15 years agoRemove frome the list of directories created by configure a directory that no
richard_ash [Fri, 29 Oct 2010 20:09:54 +0000 (20:09 +0000)]
Remove frome the list of directories created by configure a directory that no
longer has any contents and is not needed any more. Original patch by Benjamin Drung (Ubuntu)

15 years agoclarified some doc comments in pa_ringbuffer.h including one typo that said <write...
rossb [Sun, 24 Oct 2010 10:21:35 +0000 (10:21 +0000)]
clarified some doc comments in pa_ringbuffer.h including one typo that said <write> instead or <read>

15 years agopatch from Rafaël Carré: clear SHARED_FLAGS in configure.in when --disable-shared...
rossb [Fri, 22 Oct 2010 02:30:38 +0000 (02:30 +0000)]
patch from Rafaël Carré: clear SHARED_FLAGS in configure.in when --disable-shared is used to avoid libtool setting -shared and breaking the build.

15 years agopatch from Richard Ash: updated Makefile.in to set SHELL variable expected by newer...
rossb [Fri, 22 Oct 2010 02:23:33 +0000 (02:23 +0000)]
patch from Richard Ash: updated Makefile.in to set SHELL variable expected by newer versions of libtool (was breaking in builds on Debian without this)

15 years agowasapi: fixed capturing (Input stream) if Polling mode is used, ProcessInputBuffer...
dmitrykos [Wed, 20 Oct 2010 17:32:04 +0000 (17:32 +0000)]
wasapi: fixed capturing (Input stream) if Polling mode is used, ProcessInputBuffer was broken erroneously returning AUDCLNT_S_BUFFER_EMPTY and thus breaking Input thread.

15 years agowasapi: improved audio quality stability in Shared mode if framesPerBuffer (from...
dmitrykos [Wed, 20 Oct 2010 17:00:54 +0000 (17:00 +0000)]
wasapi: improved audio quality stability in Shared mode if framesPerBuffer (from user-side) value is lower than 10 milliseconds, now even 1 frame provides stable quality. Exclusive mode is also affected by this improvement.

15 years agoFixes issue where ringbuffer elements were of size 1, which might have lead to split...
bjornroche [Sat, 16 Oct 2010 18:48:29 +0000 (18:48 +0000)]
Fixes issue where ringbuffer elements were of size 1, which might have lead to split data. This does not resolve the issue for ringbuffer use in blio.

15 years agoalsa: fixed Segmentation fault due to dangling pointer left by snd_lib_error_set_hand...
dmitrykos [Fri, 15 Oct 2010 20:39:23 +0000 (20:39 +0000)]
alsa: fixed Segmentation fault due to dangling pointer left by snd_lib_error_set_handler() call which set callback pointer to ALSA during PaAlsa_Initialize call. Segmentation fault happens only if application dynamically unloaded PortAudio while still using ALSA through other means, then next ALSA error which causes invocation of ALSA error handling callbacks would cause Segmentation fault. Bug reported in: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=563192, and re-announced by Phil Burk on 15.10.2010.

15 years agoimproved documentation of paNoInterleaved flag
rossb [Thu, 14 Oct 2010 03:34:34 +0000 (03:34 +0000)]
improved documentation of paNoInterleaved flag

15 years agojack: fixed segmentation fault caused by PA Jack implementation if Pa_Initialize...
dmitrykos [Wed, 22 Sep 2010 06:33:47 +0000 (06:33 +0000)]
jack: fixed segmentation fault caused by PA Jack implementation if Pa_Initialize is called after Pa_Terminate due to bad pointer usage by realloc() call which was previously freed() in Pa_Terminate call. Many thanks to RJ Ryan for reporting, debugging and providing the solution for this bug.

15 years agoalsa: avoid SetApproximateSampleRate() excessive log messages when Pa_IsFormatSupport...
dmitrykos [Mon, 20 Sep 2010 16:23:30 +0000 (16:23 +0000)]
alsa: avoid SetApproximateSampleRate() excessive log messages when Pa_IsFormatSupported API method is used to test for supported sample rates and some of them are not supported by device

15 years agofixed missing return statements from latency listener procs
rossb [Mon, 30 Aug 2010 08:26:58 +0000 (08:26 +0000)]
fixed missing return statements from latency listener procs

15 years agowasapi:
dmitrykos [Tue, 24 Aug 2010 17:44:00 +0000 (17:44 +0000)]
wasapi:
 - fixed compile under MinGW64 compiler (gcc version 4.5.1 20100702)
 - cleaned portability typedefs, thanks to MinGW64 project added KS headers which also work well for MinGW32 (tested: gcc version 4.5.0)
wdmks:
 - made it possible to use additional WDM/KS info for WMME/DS back-ends by defining PAWIN_USE_WDMKS_DEVICE_INFO for compilation by MinGW32/64 compilers if you include modified headers located in '\src\hostapi\wasapi\mingw-include'

15 years agoReplaced broken PaStreamCallbackTimeInfo calculations with calculation based on CoreA...
rossb [Fri, 20 Aug 2010 11:47:02 +0000 (11:47 +0000)]
Replaced broken PaStreamCallbackTimeInfo calculations with calculation based on CoreAudio ioProc timestamps. Notes: 1. inputBufferAdcTime is not computed correctly for all cases (eg full duplex with/without ring buffer). 2. This patch needs to be reviewed for the case where device and AUHAL sample rates differ (ie SRC is used) and if input and output sample rates differ. See FIXMES

15 years agotweaked buffer settings in wmme low level parameters example
rossb [Sat, 14 Aug 2010 06:22:26 +0000 (06:22 +0000)]
tweaked buffer settings in wmme low level parameters example

15 years agowasapi:
dmitrykos [Fri, 6 Aug 2010 20:25:07 +0000 (20:25 +0000)]
wasapi:
 - fixed alignment missing for host buffer if overall buffer size was set to less than 3ms that results in device timeout
 - advanced Event driven mode and extended the range of host buffer size which can operate in this mode up up to 20.66 ms, e.g. your device buffer size will vary in range 3 - 20.66 ms, if goes above then Poll driven mode is switched on automatically

15 years agowasapi:
dmitrykos [Tue, 3 Aug 2010 21:02:52 +0000 (21:02 +0000)]
wasapi:
 - fixed compilation by MinGW, was failing due to double ambiguous jack describing enums used in KS
ds:
 - fixed compile by MinGW, was failing due to missing casts to LPVOID * and usage of UINT instead of DWORD by PaWinDsStream::previousPlayCursor

15 years agoalsa:
dmitrykos [Mon, 2 Aug 2010 10:37:18 +0000 (10:37 +0000)]
alsa:
 - trying to fix specific case of stream failing to open when min/max period is specifying fixed value with +/-1 difference, we try choosing middle then which seems to be aligned to 2

16 years agoalsa:
dmitrykos [Fri, 30 Jul 2010 10:44:18 +0000 (10:44 +0000)]
alsa:
 - improved host buffer size calculation: taking into account obligatory double buffering utilising formula (userFrames + MAX( userFrames, SR * suggestedLatency)), aligning host buffer with user buffer size, additional testing of host buffer size to avoid failure on snd_pcm_hw_params_set_period_size_near, additional logging for more convenient debugging

16 years agoalsa:
dmitrykos [Thu, 29 Jul 2010 18:54:45 +0000 (18:54 +0000)]
alsa:
 - fixed seg.fault (caused by assertion) when using non-interleaved host i/o, now paNonInterleaved flag is provided to PaUtil_InitializeBufferProcessor to signal processor about host format being non-interleaved

16 years agojack:
dmitrykos [Thu, 29 Jul 2010 06:29:41 +0000 (06:29 +0000)]
jack:
 - fixed assertion in PA processor logics by informing processor that host format is non-interleaved (using paNonInterleaved flag) in PaUtil_InitializeBufferProcessor
 - fixed rare timeout on WaitCondition reported earlier by increasing timeout from 1 second to 10 minutes

16 years agowasapi:
dmitrykos [Fri, 23 Jul 2010 10:04:03 +0000 (10:04 +0000)]
wasapi:
 - added functionality to enumerate jacks and their description
 - added example which demonstrates jacks enumeration technique
Thanks Reid Bishop for providing the idea for this extended functionality and patch with implementation.

16 years agowasapi: - fixed frames preloading for buffer mode - paUtilFixedHostBufferSize
dmitrykos [Tue, 20 Jul 2010 21:01:07 +0000 (21:01 +0000)]
wasapi: - fixed frames preloading for buffer mode - paUtilFixedHostBufferSize

16 years agowasapi: - fixed occasional bug (affects Windows 7 mostly) which is related to stream...
dmitrykos [Tue, 20 Jul 2010 19:01:17 +0000 (19:01 +0000)]
wasapi: - fixed occasional bug (affects Windows 7 mostly) which is related to stream start failure due to exceeding buffer size when preloading data for output stream in exclusive mode (thanks Ralph Irving for noticing and reporting this bug)

16 years agowasapi:
dmitrykos [Thu, 15 Jul 2010 23:27:21 +0000 (23:27 +0000)]
wasapi:
 - fixed usage of uninitialized variable (Input)

16 years agoadded pragma to auto-link winmm.lib when compiling with msvc
rossb [Wed, 14 Jul 2010 06:45:25 +0000 (06:45 +0000)]
added pragma to auto-link winmm.lib when compiling with msvc

16 years agowasapi:
dmitrykos [Mon, 12 Jul 2010 18:41:05 +0000 (18:41 +0000)]
wasapi:
 - reimplemented full-duplex processing to address changes to latency calculations (please note Exclusive mode due to some unknown reason will likely not be able to provide good audio quality yet)
 - fixed Pa_GetStreamInfo for WASAPI device if stream is opened as full-duplex (thanks to Reid Bishop for pointing to the bug)

16 years agooptimized PA processor for case when host and user buffer match by type and size...
dmitrykos [Sat, 10 Jul 2010 17:41:25 +0000 (17:41 +0000)]
optimized PA processor for case when host and user buffer match by type and size, now host buffer pointer will be passed to user space directly, additional copying of audio input/output data is thus avoided.
asio: apply paNonInterleaved flag on host formats for callback mode (required for processor compatibility).

16 years agowasapi:
dmitrykos [Fri, 9 Jul 2010 23:57:51 +0000 (23:57 +0000)]
wasapi:
 - fixed memory corruption if format is set to non-interlieved and mono <> stereo mini-mixer is used for to convert mono to stereo (conversion is done due to WASAPI limitation)
 - made WASAPI fully passing patest_wire.c (full-duplex combinations) for shared and exclusive modes
 - if WASAPI device failed to open due to unsupported format it will not crash top PA layer anymore
 - improved full-duplex mode for shared/exclusive (although exclusive full-duplex mode still produces audio glitches due to difference in input/output device buffer size due to unknown WASAPI reason, with shared mode all is ok)
 - exclusive mode will now work with 1 channel audio always, even if it is not supported by WASAPI natively (we use own mono <> stereo mini-mixer)

16 years agoreverted changes from revisions 1516-1517 due to incorrectly made changes to processo...
dmitrykos [Fri, 9 Jul 2010 17:53:52 +0000 (17:53 +0000)]
reverted changes from revisions 1516-1517 due to incorrectly made changes to processor's core which result in corrupted audio in some specific situations

16 years agowasapi:
dmitrykos [Thu, 8 Jul 2010 21:03:08 +0000 (21:03 +0000)]
wasapi:
 - fixed Exclusive/Event mode if latency used exceeds 100ms resulting in bad audio
 - fixed Exclusive mode if overall stream latency exceeds 1400-2000ms resulting in E_OUTOFMEMORY even under Vista, now PA WASAPI will gradually decrease overall latency until acceptable level
 - applied device period aligning if period was corrected
 - improved robustness of audio client creation

16 years agowasapi:
dmitrykos [Tue, 6 Jul 2010 07:28:48 +0000 (07:28 +0000)]
wasapi:
 - reimplemented suggestedLatency and framesPerBuffer parameters in Pa_OpenStream call to opearate by the following formula - 'hostBufferFrames = userFramesPerBuffer + max(userFramesPerBuffer, (suggestedLatency * sampleRate))' as discussed on PA mailing-lists
 - it is now possible to achieve 5.33ms latency in Polling & Exclusive mode (WOW64 or Native)
 - Polling method for output will benefit from direct WASAPI buffer pointer exposure to a user space through a callback (no copying)

16 years agofixed processor optimization from previous release for non-interleaved host buffers...
dmitrykos [Tue, 29 Jun 2010 20:58:15 +0000 (20:58 +0000)]
fixed processor optimization from previous release for non-interleaved host buffers case (for example ASIO)

16 years agoimplemented optimization for NonAdaptingProcess processor: avoid copying of input...
dmitrykos [Mon, 28 Jun 2010 21:35:04 +0000 (21:35 +0000)]
implemented optimization for NonAdaptingProcess processor: avoid copying of input/output from temp user buffer to host buffer by providing host buffer pointer directly to user, e.g. achieving processing of host buffer in place