]> Repos - portaudio/log
portaudio
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

16 years agowasapi:
dmitrykos [Mon, 28 Jun 2010 21:29:16 +0000 (21:29 +0000)]
wasapi:
 - made framesPerBuffer and suggestedLatency behavior as per PA specification, e.g. framesPerBuffer set main device period, suggestedLatency is a surplus if not 0
 - fixed bug with Input in situation when WASAPI operates in native not-WOW64 process and using event mechanism would provide less frames to a user callback than expected (due to the fact as WASAPI's audio client provides only 1 packet per GetBuffer call which)

16 years agoalsa: reverted broken specification (by me) according device latency being not depend...
dmitrykos [Mon, 28 Jun 2010 21:19:15 +0000 (21:19 +0000)]
alsa: reverted broken specification (by me) according device latency being not dependent on user buffer size, now framesPerBuffer parameter and suggestedLatency set overall stream latency

16 years agowasapi: fixed very rare bug causing a dead looping if WASAPI input stream is being...
dmitrykos [Tue, 22 Jun 2010 19:53:00 +0000 (19:53 +0000)]
wasapi: fixed very rare bug causing a dead looping if WASAPI input stream is being aborted

16 years agowasapi: fixed full-duplex failure (when host sample types differ) due to incorrect...
dmitrykos [Thu, 10 Jun 2010 09:45:54 +0000 (09:45 +0000)]
wasapi: fixed full-duplex failure (when host sample types differ) due to incorrect check made on I/O host buffer sizes

16 years agowasapi: fixed host-WASAPI related bug when selected 24-bit Input does not produce...
dmitrykos [Thu, 10 Jun 2010 09:09:19 +0000 (09:09 +0000)]
wasapi: fixed host-WASAPI related bug when selected 24-bit Input does not produce any audio, while 16 and 32-bits do, now if 24-bits selected by user (paInt24) PA WASAPI asks 32-bits (paFloat32) from WASAPI device and PA converters provide 24-bit data which is converted from 32-bit host buffer.

16 years agounix: fixed compile failure due to warning about unused variable when compilation...
dmitrykos [Thu, 10 Jun 2010 08:05:29 +0000 (08:05 +0000)]
unix: fixed compile failure due to warning about unused variable when compilation takes place with -Werror switch

16 years agooss: fixed compile for systems missing 'pthread_cancel' series of functions, this...
dmitrykos [Sun, 6 Jun 2010 17:36:33 +0000 (17:36 +0000)]
oss: fixed compile for systems missing 'pthread_cancel' series of functions, this allows to compile PortAudio under Android platform with OSS as audio host back-end

16 years agoalsa:
dmitrykos [Thu, 3 Jun 2010 20:09:33 +0000 (20:09 +0000)]
alsa:
 - fixed latency setting dependence on user buffer size, now it is completely independent and user is able to set lowest possible/audible latency (approx. 3-4ms)
 - fixed fixed min. latency for non-MMAPed devices, they do behave similar to MMAPed devices now without a limitation

16 years agowasapi:
dmitrykos [Tue, 1 Jun 2010 17:26:37 +0000 (17:26 +0000)]
wasapi:
 - implemented support for full-duplex mode (it always uses polling(pull) WASAPI behavior, if latency <15msec needed then event interface must be done)
 - fixed mono-to-stereo converter for input stream
 - mono-to-stereo converter will also automatically operate in shared mode (if WASAPI driver does not support mono for output, or only stereo for input)

16 years agoalsa: - if polling loop is timed out (paTimedOut) PaAlsaStream_WaitForFrames will...
dmitrykos [Tue, 1 Jun 2010 12:45:09 +0000 (12:45 +0000)]
alsa: - if polling loop is timed out (paTimedOut) PaAlsaStream_WaitForFrames will not report any frames available

16 years agowasapi:
dmitrykos [Mon, 31 May 2010 09:46:49 +0000 (09:46 +0000)]
wasapi:
 - implemented support of non-Interlieved buffers (paNonInterleaved) for WASAPI blocking interface for input and output
 - blocking methods will now use PA sample converters

16 years agoalsa: - releasing memory of non-MMAPed buffer on stream closure by Pa_CloseStream
dmitrykos [Mon, 31 May 2010 06:00:16 +0000 (06:00 +0000)]
alsa: - releasing memory of non-MMAPed buffer on stream closure by Pa_CloseStream

16 years agoalsa:
dmitrykos [Sun, 30 May 2010 22:14:00 +0000 (22:14 +0000)]
alsa:
 - reverted buffer size (2048) hardcoding for non-MMAPed devices to avoid crash on wrong buffer size usage (whole area requires more work)
 - optimized non-MMAPed device operation to avoid malloc(memset)/free usage on every processing call avoiding significant performance penalty

16 years agoalsa:
dmitrykos [Sun, 30 May 2010 07:28:41 +0000 (07:28 +0000)]
alsa:
 - fixed deadlock in PaAlsaStream_WaitForFrames if device is paused, poll() results are now checked for 0 and if 64 times exceeded an error (paTimedOut) is returned
 - removed hardcoded low-limit of latency for non-MMAPed devices, it is an obligation for user to set an acceptable/desired latency value
 - tuned XRUN recovery sequence for MMAPed devices

16 years agofixed compile for DirectSound implementation under MSYS, missing DSSPEAKER_7POINT1_SU...
dmitrykos [Thu, 20 May 2010 17:28:23 +0000 (17:28 +0000)]
fixed compile for DirectSound implementation under MSYS, missing DSSPEAKER_7POINT1_SURROUND define

16 years agowasapi:
dmitrykos [Tue, 18 May 2010 17:23:56 +0000 (17:23 +0000)]
wasapi:
 - re-enabled Event-driven mode for Windows 7 x64 platform if application runs as WOW64 process

16 years agowasapi:
dmitrykos [Tue, 18 May 2010 15:02:41 +0000 (15:02 +0000)]
wasapi:
 - fixed Event-driven mode, broken in 1496 rev.

16 years agowasapi:
dmitrykos [Mon, 17 May 2010 21:15:13 +0000 (21:15 +0000)]
wasapi:
 - using WOW64 workaround (fall-back to a Poll-driven mode) for any WOW64 process regardless of Windows version due to report of same bug under Windows 7 x64

16 years agowasapi:
dmitrykos [Mon, 17 May 2010 18:37:00 +0000 (18:37 +0000)]
wasapi:
 - fixed object (IAudioRenderClient/IAudioCaptureClient) leak if stream is stopped and restarted without closing
 - improved IAudioClient event handle management on stream restart (not deleting/creating event handle but rather keeping it until stream is closed)

16 years agowasapi:
dmitrykos [Wed, 12 May 2010 18:08:45 +0000 (18:08 +0000)]
wasapi:
 - fixed occasional crash-bug which may be caused by a lightweight application that starts stream, checks if stream is running and if not terminates the stream: WASAPI implementation wasn't taking such behavior into account and stream termination (with structure deallocation) could happen during a thread start causing a crash on bad pointer usage
 - fixed Pa_IsStreamActive and similar not correctly reporting stopped stream if that was stopped from within a callback function (playback/capture) by returning paComplete

16 years agocorrected comments to Int24_To_Int16_Dither
dmitrykos [Sat, 17 Apr 2010 07:43:00 +0000 (07:43 +0000)]
corrected comments to Int24_To_Int16_Dither

16 years agoimplemented 'Int24_To_Int16_Dither' converter to allow 24-bit audio be played (before...
dmitrykos [Fri, 16 Apr 2010 19:08:00 +0000 (19:08 +0000)]
implemented 'Int24_To_Int16_Dither' converter to allow 24-bit audio be played (before was silence for WMME and DirectSound)

16 years agowasapi:
dmitrykos [Fri, 16 Apr 2010 08:31:19 +0000 (08:31 +0000)]
wasapi:
 - new method PaWasapi_GetFramesPerHostBuffer which allows to get number of input/output frames per host (WASAPI) buffer, this method helps to find out maximal values for PaWasapiHostProcessorCallback
 - documentation fixes

16 years agowasapi:
dmitrykos [Thu, 15 Apr 2010 17:44:13 +0000 (17:44 +0000)]
wasapi:
 - added calling thread id checks to match Pa_Initialize/Pa_Uninitialize in the same calling thread, if not the case then console warning will be thrown and CoUninitialize will not be called (preferring leak over uninitializing user-side COM)

16 years agowasapi:
dmitrykos [Thu, 15 Apr 2010 17:15:14 +0000 (17:15 +0000)]
wasapi:
 - fixed Windows 7/Server 2008 R2 and Future detection, this fixes minimal/maximal device periods correction
 - added CO_E_NOTINITIALIZED to text errors with action to take for user in case it happens

16 years agowasapi:
dmitrykos [Mon, 12 Apr 2010 21:15:50 +0000 (21:15 +0000)]
wasapi:
 - improved device buffer alignment calculation allowing to set as precise device latency as possible

16 years agowasapi:
dmitrykos [Mon, 12 Apr 2010 20:55:34 +0000 (20:55 +0000)]
wasapi:
 - fixed crash in Pa_OpenStream call if WASAPI device did not open or something failed (happened on stream handle cleanup due to double attempt to free same pointer)
 - improved the way WASAPI device is opening, such error as AUDCLNT_E_BUFFER_SIZE_ERROR which comes due to incorrectly small device period is fixed for Vista (and all other, including future) systems as well, latency will be corrected to device minimum (usually 3ms).
 - if suggestedLatency is set to 0 in Pa_OpenStream call then WASAPI device will select device default latency (in Exclusive mode it is 10ms, in Shared 20ms)
 - improved on-screen logging of WASAPI devices available during WASAPI initialization phase

16 years agofixed ASIO thiscall resolver for GCC 4.+: CALL_THISCALL_1_DOUBLE was failing due...
dmitrykos [Sun, 11 Apr 2010 16:13:46 +0000 (16:13 +0000)]
fixed ASIO thiscall resolver for GCC 4.+: CALL_THISCALL_1_DOUBLE was failing due to strong optimization of GCC compiler, added EDX in clobbered register list to warn GCC that resolver uses it explicitly

16 years agowasapi:
dmitrykos [Sun, 11 Apr 2010 16:04:21 +0000 (16:04 +0000)]
wasapi:
 - fixed AUDCLNT_E_INVALID_DEVICE_PERIOD under Windows 7 if latency is set to lower than minimal device period
 - fixed AUDCLNT_E_INVALID_DEVICE_PERIOD under Windows 7 if latency for Exclusive mode is higher than 500ms, for Shared mode higher than 2000ms

16 years agoexcluded x86-64 platform from ASIO 'thiscall' resolver as x64 ABI does not have ...
dmitrykos [Wed, 7 Apr 2010 21:07:55 +0000 (21:07 +0000)]
excluded x86-64 platform from ASIO 'thiscall' resolver as x64 ABI does not have 'thiscall' calling convention anymore

16 years agowasapi:
dmitrykos [Thu, 25 Mar 2010 23:27:27 +0000 (23:27 +0000)]
wasapi:
 - fixed int24 Mono to Stereo mixer (affects Mono streams starting in Exclusive mode)
pa_converters:
 - avoid using 64-bit integer math for Int24_To_Float32 and Int24_To_Int32 under x64 Posix platforms (long is 64-bit there), now using explicit PaInt32 type

16 years agowasapi:
dmitrykos [Wed, 24 Mar 2010 19:08:38 +0000 (19:08 +0000)]
wasapi:
 - fixed bug when Exclusive mode was wrongly opening Stereo stream if Mono stream was requested (note: WASAPI device usually does not support Mono in Exclusive mode), resulted in distorted sound
 - implemented workaround for WASAPI limitation - in Exclusive mode Mono stream is not supported: now PA creates internal audio device in Stereo mode, and after callback call Mono data is mixed into Stereo output, this workaround is not supported for Blocking mode. all this is done transparent for user, automatically.

16 years agomaccore: fixed MacOSX "Snow Leopard" 10.6+ deadlock on sample-rate change submitted...
dmitrykos [Thu, 18 Mar 2010 11:26:47 +0000 (11:26 +0000)]
maccore: fixed MacOSX "Snow Leopard" 10.6+ deadlock on sample-rate change submitted by Olivier Tristan
and Stephane Letz with the following details:
"When using paMacCoreChangeDeviceParameters option of PaMacCore_SetupStreamInfo, if the sample rate used in PortAudio do not match the one on the hardware, it automatically switches the hardware samplerate. This functionality stopped working on 10.6 and was blocking the application when trying to change the hardware samplerate (infinite wait) It now works fine on 10.6 as it used to on previous OSX version."

16 years agowasapi: small corrections to improve CoInitialize/CoUninitialize sequence (taken...
dmitrykos [Wed, 17 Mar 2010 10:37:29 +0000 (10:37 +0000)]
wasapi: small corrections to improve CoInitialize/CoUninitialize sequence (taken from DS implementation)

16 years agoupdated 'configure' file, many thanks to Stelios Bounanos for generating it
dmitrykos [Tue, 16 Mar 2010 12:23:13 +0000 (12:23 +0000)]
updated 'configure' file, many thanks to Stelios Bounanos for generating it

16 years agowasapi: removed excessive argument checks in stream management functions
dmitrykos [Sun, 14 Mar 2010 17:25:48 +0000 (17:25 +0000)]
wasapi: removed excessive argument checks in stream management functions

16 years agowasapi: improved parameter checks for blocking API
dmitrykos [Sat, 13 Mar 2010 19:13:06 +0000 (19:13 +0000)]
wasapi: improved parameter checks for blocking API

16 years agowasapi: fixed extension functions: PaWasapi_GetDeviceDefaultFormat / PaWasapi_GetDevi...
dmitrykos [Sat, 13 Mar 2010 18:53:40 +0000 (18:53 +0000)]
wasapi: fixed extension functions: PaWasapi_GetDeviceDefaultFormat / PaWasapi_GetDeviceRole - device index was misinterpreted and as a result returning value was mismatched

16 years agoimplemented optional log output to Visual Studio Output window if PA_ENABLE_MSVC_DEBU...
dmitrykos [Wed, 10 Mar 2010 21:47:01 +0000 (21:47 +0000)]
implemented optional log output to Visual Studio Output window if PA_ENABLE_MSVC_DEBUG_OUTPUT is defined, this simplifies debugging of external process if Visual Studio is attached to process

16 years agowasapi: fixed portaudio.vcproj (wrong filename)
dmitrykos [Wed, 10 Mar 2010 15:03:22 +0000 (15:03 +0000)]
wasapi: fixed portaudio.vcproj (wrong filename)

16 years agowasapi: finished changes of include names for case-sensitive build env.
dmitrykos [Tue, 9 Mar 2010 15:33:20 +0000 (15:33 +0000)]
wasapi: finished changes of include names for case-sensitive build env.

16 years agowasapi: renaming file
dmitrykos [Tue, 9 Mar 2010 15:27:21 +0000 (15:27 +0000)]
wasapi: renaming file

16 years agowasapi: renaming file
dmitrykos [Tue, 9 Mar 2010 15:26:45 +0000 (15:26 +0000)]
wasapi: renaming file

16 years agowasapi: renaming file
dmitrykos [Tue, 9 Mar 2010 15:26:05 +0000 (15:26 +0000)]
wasapi: renaming file

16 years agowasapi: renaming file
dmitrykos [Tue, 9 Mar 2010 15:25:18 +0000 (15:25 +0000)]
wasapi: renaming file

16 years agowasapi: renaming file
dmitrykos [Tue, 9 Mar 2010 15:24:25 +0000 (15:24 +0000)]
wasapi: renaming file

16 years agowasapi:
dmitrykos [Tue, 9 Mar 2010 12:29:36 +0000 (12:29 +0000)]
wasapi:
- fixed configure.in to compile WASAPI module under MSYS
- fixed include name cases for case-sensitive build environments
- defined LPCGUID for some MinGW compilers which are missing it
- fixed strict-aliasing rules break on line of getting device EndpointFormFactor in case '-Wstrict-aliasing' is specified or corresponding GCC optimization flag is used

16 years agowasapi:
dmitrykos [Mon, 8 Mar 2010 10:33:58 +0000 (10:33 +0000)]
wasapi:
- improved debug log output: function name which returned error will be displayed as well
- fixed non-critical compiler warnings

16 years agowasapi: fixed initialization stage of PaWasapi_Initialize() which was returning error...
dmitrykos [Thu, 4 Mar 2010 11:02:06 +0000 (11:02 +0000)]
wasapi: fixed initialization stage of PaWasapi_Initialize() which was returning error if WASAPI wasn't found (for example under Windows XP), this was causing PA's whole initialization to fail completely

16 years ago+++ wasapi:
dmitrykos [Wed, 3 Mar 2010 22:57:16 +0000 (22:57 +0000)]
+++ wasapi:
 - converted PA WASAPI module to pure C
 - implemented compilation support for GCC [MinGW(32-bit)/MinGW64(64-bit)] compiler, special notes regarding MinGW compilation are included in 'readme.txt' file

16 years ago+++ wasapi: corrected PaWasapi_Initialize() behavior in case of OS back-end failure...
dmitrykos [Tue, 2 Mar 2010 19:08:13 +0000 (19:08 +0000)]
+++ wasapi: corrected PaWasapi_Initialize() behavior in case of OS back-end failure: WASAPI will not be added to a list of available APIs now (instead of throwing error to InitializeHostApis() that causes PA initialization break), error is thrown only on low-memory condition (default behavior)

16 years agowasapi:
dmitrykos [Tue, 2 Mar 2010 17:42:36 +0000 (17:42 +0000)]
wasapi:
- removed dependency from strsafe.h
- fixed crash in InitializeHostApis() if PaWasapi_Initialize() failed due to internal WASAPI error (error code was returned as paNoError in such case)

16 years agofixed dummy compilation of pa_win_wasapi.cpp using MinGW(GCC) compilers by adding...
dmitrykos [Tue, 2 Mar 2010 12:17:03 +0000 (12:17 +0000)]
fixed dummy compilation of pa_win_wasapi.cpp using MinGW(GCC) compilers by adding missing Avrt type

16 years ago+++ wasapi: Event-driven/Full-Duplex/Exclusive mode will be calling user-provided...
dmitrykos [Fri, 26 Feb 2010 08:57:44 +0000 (08:57 +0000)]
+++ wasapi: Event-driven/Full-Duplex/Exclusive mode will be calling user-provided callbacks simultaneously when both input/output buffers are ready for IO

16 years agochanged buffer sizes
rossb [Mon, 22 Feb 2010 16:29:48 +0000 (16:29 +0000)]
changed buffer sizes

16 years agoadded test for wmme low level latency params
rossb [Mon, 22 Feb 2010 16:07:56 +0000 (16:07 +0000)]
added test for wmme low level latency params

16 years agowasapi: improved paFramesPerBufferUnspecified handling in case device does not provid...
dmitrykos [Sat, 20 Feb 2010 12:03:57 +0000 (12:03 +0000)]
wasapi: improved paFramesPerBufferUnspecified handling in case device does not provide default period, paInvalidSampleRate will be returned if sampleRate parameter is 0 for Pa_IsFormatSupported/Pa_OpenStream

16 years agowasapi: fixed capturing callback not called if paWinWasapiPolling flag specified...
dmitrykos [Sat, 20 Feb 2010 11:55:20 +0000 (11:55 +0000)]
wasapi: fixed capturing callback not called if paWinWasapiPolling flag specified, or WOW64 workaround is used, same bug was causing div/0 crash

16 years agowindows WASAPI fixes/improvements:
dmitrykos [Fri, 19 Feb 2010 11:16:01 +0000 (11:16 +0000)]
windows WASAPI fixes/improvements:
- fixed dependency of framesPerBuffer parameter in Pa_OpenStream and latency (now only latency setting affects device latency which is correct behavior);
- paFramesPerBufferUnspecified is now supported for Pa_OpenStream;
- sound distortion fixed for Shared mode if framesPerBuffer is lower than device limit and when latency was set to 0;
- fixed timeout for Exclusive mode due to buffer misalignment;
- improved precision of DAC/ADC time for running stream;
- avoided memory leaks on failure of Pa_OpenStream;
- NULL checks on stream pointer for all external methods;
- correct host buffer mode for paWinWasapiPolling mode to deliver fixed number of frames to user space;
- implemented workaround for Vista x64 WOW64 bug if Event-mode is used for Shared mode (due to incorrect Event signaling audio dropouts were happening): will fall back to safe Polling method automatically.

16 years agoimproved PaWasapi_ThreadPriorityBoost by providing enum PaWasapiThreadPriority with...
dmitrykos [Wed, 17 Feb 2010 10:11:40 +0000 (10:11 +0000)]
improved PaWasapi_ThreadPriorityBoost by providing enum PaWasapiThreadPriority with explicit thread priority values for convenience. it is possible to override default thread priority setting for Event/Poll-driven modes by specifying new flag paWinWasapiThreadPriority and setting priority value through PaWasapiStreamInfo::threadPriority member.

16 years agofixed crash on NULL pointer usage if hostApiSpecificStreamInfo was NULL in Pa_OpenSt...
dmitrykos [Tue, 16 Feb 2010 11:52:19 +0000 (11:52 +0000)]
fixed crash on NULL pointer  usage if hostApiSpecificStreamInfo was NULL in Pa_OpenStream method

16 years agoprovided ability not to depend on ksguid.lib when using WDMKS as it may not be provid...
dmitrykos [Tue, 16 Feb 2010 11:18:52 +0000 (11:18 +0000)]
provided ability not to depend on ksguid.lib when using WDMKS as it may not be provided for x64 SDK by default, define PA_WDMKS_NO_KSGUID_LIB to use static declarations, x64 MSVC project corrected to define PA_WDMKS_NO_KSGUID_LIB for x64 compilations. added WASAPI symbols to portaudio.def.

16 years agofinished WASAPI implementation:
dmitrykos [Tue, 16 Feb 2010 09:46:08 +0000 (09:46 +0000)]
finished WASAPI implementation:
 - Callback/Blocking interface
 - Playback/Capture
 - Shared/Exclusive mode
to compile you must have installed recent Windows SDK(Vista SDK or higher) and min Visual Studio 2005 SP1. WASAPI is enabled by default, to disable you must define PA_NO_WASAPI prior compilation.

16 years agojusttesting
dmitrykos [Wed, 10 Feb 2010 18:10:18 +0000 (18:10 +0000)]
justtesting

16 years agojusttesting
philburk [Wed, 10 Feb 2010 18:05:40 +0000 (18:05 +0000)]
justtesting

16 years agofix for undefined DirectSoundFullDuplex8 when PAWIN_USE_DIRECTSOUNDFULLDUPLEXCREATE...
rossb [Wed, 3 Feb 2010 00:28:29 +0000 (00:28 +0000)]
fix for undefined DirectSoundFullDuplex8 when PAWIN_USE_DIRECTSOUNDFULLDUPLEXCREATE wasn't defined. thanks Dmitry

16 years agoAdded code to PortAudio/DirectSound to use DX8 DirectSoundFullDuplexCreate API for...
rossb [Tue, 2 Feb 2010 09:01:13 +0000 (09:01 +0000)]
Added code to PortAudio/DirectSound to use DX8 DirectSoundFullDuplexCreate API for full duplex streams where available. Define PAWIN_USE_DIRECTSOUNDFULLDUPLEXCREATE in your project to enable this feature.

16 years agoimplemented paPrimeOutputBuffersUsingStreamCallback for DirectSound (previously this...
rossb [Sun, 24 Jan 2010 13:17:31 +0000 (13:17 +0000)]
implemented paPrimeOutputBuffersUsingStreamCallback for DirectSound (previously this was the default). invoke some buffer reset code to from StartStream (actually ClearOutputBuffer) instead of OpenStream which should give cleaner startup behavior if the stream is started and stopped multiple times. fixed leaks under error in InitOutputBuffer and fixed leak of primary buffer (previously was never released)

16 years agoreset oscillator phase at start of each test cycle so that the onsets sound the same
rossb [Sun, 24 Jan 2010 12:35:36 +0000 (12:35 +0000)]
reset oscillator phase at start of each test cycle so that the onsets sound the same

16 years agoremoved hardwired device number from previous commit
rossb [Sun, 24 Jan 2010 12:27:31 +0000 (12:27 +0000)]
removed hardwired device number from previous commit

16 years agoDirectSound don't crash when starting a blocking io (non-callback) stream. blocking...
rossb [Sun, 24 Jan 2010 12:09:34 +0000 (12:09 +0000)]
DirectSound don't crash when starting a blocking io (non-callback) stream. blocking io still not implemented though.

16 years agoadded test case to patest_stop_playout.c which catches issues with host buffers loopi...
rossb [Sun, 24 Jan 2010 11:48:06 +0000 (11:48 +0000)]
added test case to patest_stop_playout.c which catches issues with host buffers looping/not being cleared if the callback returns paComplete

16 years agoreworked DirectSound stream completion to correctly flush the buffer processor and...
rossb [Sun, 24 Jan 2010 11:42:56 +0000 (11:42 +0000)]
reworked DirectSound stream completion to correctly flush the buffer processor and zero DS buffers when the callback returns paComplete or paAbort. resolves ticket #86. use test patest_stop_playout.c to verify.

16 years agoclean up resources better if DirectSound OpenStream fails
rossb [Sun, 24 Jan 2010 09:34:48 +0000 (09:34 +0000)]
clean up resources better if DirectSound OpenStream fails

16 years agofixes to DirectSound implementation to work in unicode builds
rossb [Sun, 24 Jan 2010 09:21:50 +0000 (09:21 +0000)]
fixes to DirectSound implementation to work in unicode builds

16 years agouse a win32 Event object (aka condition variable) to signal timer process completio...
rossb [Sun, 24 Jan 2010 09:20:23 +0000 (09:20 +0000)]
use a win32 Event object (aka condition variable) to signal timer process completio to Pa_StopStream in DirectSound implementation. resolves race condition when stopping direct sounds streams.

16 years agoadded msvc link pragma to require ksguid.lib
rossb [Sun, 24 Jan 2010 08:42:02 +0000 (08:42 +0000)]
added msvc link pragma to require ksguid.lib

16 years agomade buffer in PaUtil_DebugPrint local rather than static to avoid multithreaded...
rossb [Wed, 23 Dec 2009 05:35:08 +0000 (05:35 +0000)]
made buffer in PaUtil_DebugPrint local rather than static to avoid multithreaded issues

16 years agoifdefs for correct windows mobile compilation
rossb [Thu, 10 Dec 2009 08:10:08 +0000 (08:10 +0000)]
ifdefs for correct windows mobile compilation

16 years agoadded cast to IsDebuggerPresentPtr, fixes compilation of asio on some systems
rossb [Thu, 10 Dec 2009 08:09:21 +0000 (08:09 +0000)]
added cast to IsDebuggerPresentPtr, fixes compilation of asio on some systems

16 years agoupdated configure with a simple run of autoconf. seems to work on mac.
bjornroche [Thu, 10 Dec 2009 01:37:02 +0000 (01:37 +0000)]
updated configure with a simple run of autoconf. seems to work on mac.

16 years agoderive ds output channel count from speaker configuration when pnpInterface is unavai...
rossb [Wed, 9 Dec 2009 01:55:50 +0000 (01:55 +0000)]
derive ds output channel count from speaker configuration when pnpInterface is unavailable (eg wavemapper). Thanks to Dmitry Kostjuchenko for the patch.

16 years agofix for bad x64 DWORD_PTR define
rossb [Wed, 9 Dec 2009 01:42:59 +0000 (01:42 +0000)]
fix for bad x64 DWORD_PTR define

16 years agoFixed bug (when PAWIN_USE_WDMKS_DEVICE_INFO is defined) where wmme device channel...
rossb [Wed, 9 Dec 2009 01:31:44 +0000 (01:31 +0000)]
Fixed bug (when PAWIN_USE_WDMKS_DEVICE_INFO is defined) where wmme device channel count would be incorrect for default device resulting in distorted sound if user tries to open device with more channels than device can handle. Thanks to Dmitry Kostjuchenko for the patch.

16 years agoUpdate to Makefile.in and Configure.in from Stelios Bounanos: Pretty-print help strin...
rossb [Tue, 8 Dec 2009 09:40:09 +0000 (09:40 +0000)]
Update to Makefile.in and Configure.in from Stelios Bounanos: Pretty-print help strings, Support multiple APIs on win32 with mingw, Output a configuration summary at the end, Remove ASIO build configuration from OSX

16 years agoPatch from Dmitry Kostjuchenko: Fixes x64 issue with mis-casting DWORD_PTRs to DWORDs...
rossb [Tue, 8 Dec 2009 09:26:33 +0000 (09:26 +0000)]
Patch from Dmitry Kostjuchenko: Fixes x64 issue with mis-casting DWORD_PTRs to DWORDs, support proper conversion of device names in UNICODE builds, use of CreateThread instead of _beginthreadex with cygwin.

16 years agoadded empty memory barrier macros for WINCE thanks to Dmitry Kostjuchenko
rossb [Tue, 8 Dec 2009 09:17:34 +0000 (09:17 +0000)]
added empty memory barrier macros for WINCE thanks to Dmitry Kostjuchenko

16 years agoadded and removed dummy property listener as this may be required by OS X 10.6. Also...
bjornroche [Wed, 2 Dec 2009 17:48:05 +0000 (17:48 +0000)]
added and removed dummy property listener as this may be required by OS X 10.6. Also, returned no error on property timeout.

16 years agocleanup of property change checking and error handling
bjornroche [Tue, 1 Dec 2009 15:58:37 +0000 (15:58 +0000)]
cleanup of property change checking and error handling

16 years agoadded return char
bjornroche [Tue, 1 Dec 2009 15:38:55 +0000 (15:38 +0000)]
added return char