Skip to content

pa_stable_v19_20110326

Wiki converter edited this page Sep 24, 2020 · 2 revisions

pa_stable_v19_20071207 to pa_stable_v19_20110326 -- what's changed?

This page answers the question "what has changed in version pa_stable_v19_20110326.tgz compared to pa_stable_v19_20071207"

There's a full log from SVN below. Some highlights have been cherry picked into the following lists. If you think something important has been missed, please let us know and we'll update the list.

You can get a list of the tickets that were closed during this period, here: http://www.portaudio.com/trac/query?status=closed&changetime=12%2F6%2F07..03%2F26%2F11&col=id&col=summary&col=status&col=type&col=priority&col=milestone&col=component&order=priority

Highlights

  • Fixed a lot of bugs on all platforms
  • Fixed a lot of build system issues on all platforms (autotools, msvc, scons)
  • Added more support for V19 API features on many platforms
  • Added WASAPI implementation
  • Ring buffer code was generalised into pa_ringbuffer.c with correct memory barriers. this is now used by many host api implementations
  • Implemented blocking i/o for ASIO
  • Made ALSA default host API on Linux
  • Fixed stream info inputLatency and outputLatency calculations in a number of host APIs (r1598, r1599, r1600)
  • WMME added support for ac3+wma spdif passthrough
  • DirectSound added support for driver-level full duplex via DX8 DirectSoundFullDuplexCreate

More details

These items are just cherry picked from the SVN log below as looking interesting. They aren't an exhaustive list. If you want more details you can search for the description text from these bullet points to find the log entry further down the page, then click on the revision number to get the diff for that change.

Common infrastructure

  • fixed inputBufferAdcTime calculation for AdaptingInputOnlyProcess
  • implemented 'Int24_To_Int16_Dither' converter to allow 24-bit audio be played on 16 bit hardware
  • 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
  • skeleton host api implementation moved to hostapi/skeleton

Windows

  • always use vsnprintf with MSC
  • change CreateThread to _beginthreadex (related to ticket #84)

WMME host api

  • added support for ac3+wma spdif passthrough
  • 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.

Direct Sound host api

  • derive ds output channel count from speaker configuration when pnpInterface is unavailable (eg wavemapper). Thanks to Dmitry Kostjuchenko for the patch.
  • 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.
  • 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.
  • implemented paPrimeOutputBuffersUsingStreamCallback for DirectSound
  • 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.

ASIO host api

  • added explicit management of the asioDrivers instance creation and destruction. this fixes a leak where the asioDrivers instance was never destroyed.
  • Blocking i/o implementation by Sven Fischer. adds pa_asio dependency on pa_ringbuffer.c. Added i386 memory barriers for MSVC and BORLAND
  • Supports multiple threads using ASIO by adding CoInitialize?(0) and CoUninitialize?() calls.
  • added cast to IsDebuggerPresentPtr?, fixes compilation of asio on some systems
  • fixed ASIO thiscall resolver for GCC 4.+: CALL_THISCALL_1_DOUBLE was failing due to strong optimization of GCC compiler

ASIHPI host api

  • patch from Eliot Blennerhassett to use new stream read write functions that first appeared in HPI version 3.05.05. resolves ticket #51

ALSA host api

  • Apply Kevin Kofler's non-mmap patch
  • Add PA ALSA extension to allow setting number of retries when busy
  • Fix latency calculation in PA 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
  • 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
  • releasing memory of non-MMAPed buffer on stream closure by Pa_CloseStream
  • if polling loop is timed out (paTimedOut) PaAlsaStream_WaitForFrames will not report any frames available
  • 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
  • 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
  • improved host buffer size calculation: taking into account obligatory double buffering utilising formula
  • 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
  • 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.
  • implemented dynamic ALSA loading, you shall define PA_ALSA_DYNAMIC when compiling PortAudio library, by default PortAudio will use compile time linkage;

OSS host api

  • Tweaked error handling in PaOssStream_Stop
  • OSS: Don't stat before trying to open device
  • Patch from Stelios Bounanos: set host error info more consistently in OSS
  • Fix call to PaUtil_SetLastHostErrorInfo in OSS
  • Partial patch for NetBSD support -- Add configure-time test for libossaudio library.
  • 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

JACK host api

  • 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

CoreAudio host api

  • fixed code inside asserts as suggested by Jorge Acerda Macia.
  • fix for xrun detection suggested by Jorge Acereda Macia for Core Audio
  • some assertion cleanup
  • applied patch to fix ticket #64 -- added list of listeners for xruns in CoreAudio
  • added necessary include file to pa_mac_core_utilities.c
  • tweaked handling of xruns in core audio slightly. should be cleaner this way
  • added --enable-mac-debug flag to control -g and -DNDEBUG flags in mac build only.
  • separated memory barrier code from ringbuffer for greater modularity
  • fixed potential isues with accessing freed memory in Core Audio code when dealing with xruns
  • simplified/cleaned configure code dealing with mac universal binaries.
  • Patch to make universal binary optional.
  • removed memory barriers from section of code that is instead protected by mutex
  • patch to use mach absolute time on mac OS X since apple advises against gettimeofday in IOProcs.
  • fixes for hardware samplerate changes
  • fixed MacOSX "Snow Leopard" 10.6+ deadlock on sample-rate change
  • Replaced broken PaStreamCallbackTimeInfo calculations with calculation based on CoreAudio ioProc timestamps.

Documentation


Changelog

Full changelog from svn (using svn log -r1307:1647 command):


r1647 | philburk | 2011-03-26 04:34:07 +1100 (Sat, 26 Mar 2011)

Add README for configure.


r1646 | philburk | 2011-03-26 03:59:27 +1100 (Sat, 26 Mar 2011)

Remove include for pa_unix_oss.h to fix "make install" on Linux.


r1645 | philburk | 2011-03-17 09:33:34 +1100 (Thu, 17 Mar 2011)

Ran autoreconf to update config.guess and other configure files.


r1644 | philburk | 2011-03-13 11:49:28 +1100 (Sun, 13 Mar 2011)

Added patest_mono and patest_two_rates to Makefile.in Verified both and updated README.txt


r1643 | philburk | 2011-03-13 11:18:45 +1100 (Sun, 13 Mar 2011)

Ran autoconf to update configure file to fix INCLUDES bug.


r1642 | dmitrykos | 2011-03-09 04:20:07 +1100 (Wed, 09 Mar 2011)

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)

r1641 | philburk | 2011-03-08 11:37:50 +1100 (Tue, 08 Mar 2011)

Improve latency measurement in loopback so it handles DC steps better.


r1640 | philburk | 2011-03-07 11:52:47 +1100 (Mon, 07 Mar 2011)

Convert patest_two_rates.c to V19. Make paloopback over/underflow report easier to understand.


r1639 | philburk | 2011-03-06 11:35:24 +1100 (Sun, 06 Mar 2011)

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.


r1638 | rossb | 2011-03-04 18:53:36 +1100 (Fri, 04 Mar 2011)

added newline to print statement

r1637 | rossb | 2011-03-04 18:19:04 +1100 (Fri, 04 Mar 2011)

print arguments at startup

r1636 | rossb | 2011-03-04 16:17:47 +1100 (Fri, 04 Mar 2011)

changes to get qa building on Windows with msvc. had to move variable declarations to the top of functions (ie ANSI C89)

r1635 | rossb | 2011-03-04 15:18:44 +1100 (Fri, 04 Mar 2011)

moved skeleton to end of win32 initializers list so it isn't considered default

r1634 | rossb | 2011-03-04 15:12:08 +1100 (Fri, 04 Mar 2011)

support building skeleton host api on windows

r1633 | rossb | 2011-03-04 14:01:44 +1100 (Fri, 04 Mar 2011)

paqa: removed non standard and unused #include <strings.h>. updated definitions of pi to double precision

r1632 | rossb | 2011-03-04 13:28:55 +1100 (Fri, 04 Mar 2011)

fixed build breakage of patest_wmme_ac3.c on windows

r1631 | rossb | 2011-03-04 12:45:06 +1100 (Fri, 04 Mar 2011)

use LoadLibraryA instead of LoadLibrary to support unicode build

r1630 | philburk | 2011-03-03 12:18:39 +1100 (Thu, 03 Mar 2011)

Add test for paInt8 to loopback test. Add separate input and output latency setting options. Add timeout when waiting for stream to finish.


r1629 | philburk | 2011-03-03 09:12:23 +1100 (Thu, 03 Mar 2011)

Fix random code insertion caused by buggy editor on Linux. Report actual buffer sizes.


r1628 | philburk | 2011-03-03 08:03:45 +1100 (Thu, 03 Mar 2011)

Add latency control in loopback to fix Linux latency problems.


r1627 | philburk | 2011-03-03 04:49:46 +1100 (Thu, 03 Mar 2011)

Raise pop threshold for loopback test.


r1626 | philburk | 2011-03-03 04:03:23 +1100 (Thu, 03 Mar 2011)

Applied patches for Debian Linux for ticket 166.


r1625 | philburk | 2011-03-02 13:42:57 +1100 (Wed, 02 Mar 2011)

Set default latency in an attempt to reduce full duplex glitching.


r1624 | philburk | 2011-03-02 12:53:02 +1100 (Wed, 02 Mar 2011)

Add test for sample format conversion.


r1623 | philburk | 2011-03-02 10:02:52 +1100 (Wed, 02 Mar 2011)

Check for clipping even when loopback devices specified.


r1622 | philburk | 2011-03-02 09:48:50 +1100 (Wed, 02 Mar 2011)

Add check for clipping and noise in loopback test.


r1621 | philburk | 2011-03-01 20:36:31 +1100 (Tue, 01 Mar 2011)

Remove unused variable in loopback.


r1620 | philburk | 2011-03-01 20:22:48 +1100 (Tue, 01 Mar 2011)

Add loopback target to Makefile. Fixes to loopback test for ALSA.


r1619 | philburk | 2011-03-01 19:34:46 +1100 (Tue, 01 Mar 2011)

tweak changeme.txt to test SVN on Ubuntu


r1618 | philburk | 2011-03-01 13:32:04 +1100 (Tue, 01 Mar 2011)

ANother attempt at fixing configure make.


r1617 | philburk | 2011-03-01 13:25:32 +1100 (Tue, 01 Mar 2011)

Try to fix oddly broken Makefile.in


r1616 | philburk | 2011-03-01 13:12:46 +1100 (Tue, 01 Mar 2011)

ANother C99 fix for loopback.


r1615 | philburk | 2011-03-01 13:02:46 +1100 (Tue, 01 Mar 2011)

Fix C99 error with modern for loops.


r1614 | philburk | 2011-03-01 12:54:20 +1100 (Tue, 01 Mar 2011)

Added paloopback test to the automated build.


r1613 | philburk | 2011-03-01 11:49:52 +1100 (Tue, 01 Mar 2011)

Ass semicolon to fix "label at end of compound statement" error caused by pthread_cleanup_pop(1) macro.


r1612 | philburk | 2011-03-01 10:56:48 +1100 (Tue, 01 Mar 2011)

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.


r1611 | philburk | 2011-03-01 09:27:39 +1100 (Tue, 01 Mar 2011)

Add a test for non-interleaved blocking writes. This is to address ticket 83.


r1610 | philburk | 2011-02-27 12:31:56 +1100 (Sun, 27 Feb 2011)

Speed up loopback test by testing each sample rate then each buffer size, not full matrix.


r1609 | philburk | 2011-02-27 11:06:07 +1100 (Sun, 27 Feb 2011)

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.


r1608 | dmitrykos | 2011-02-22 09:41:06 +1100 (Tue, 22 Feb 2011)

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

r1607 | dmitrykos | 2011-02-21 19:02:21 +1100 (Mon, 21 Feb 2011)

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

r1606 | rob_bielik | 2011-02-18 02:56:04 +1100 (Fri, 18 Feb 2011)

Ticket #132

r1605 | rossb | 2011-02-13 00:33:18 +1100 (Sun, 13 Feb 2011)

doc tweak

r1604 | dmitrykos | 2011-02-12 23:45:27 +1100 (Sat, 12 Feb 2011)

fixed compilation when Makefile is used by adding missing pa_ringbuffer.o object file

r1603 | rossb | 2011-02-12 21:22:00 +1100 (Sat, 12 Feb 2011)

moved src/common/pa_skeleton.c to src/hostapi/skeleton/pa_hostapi_skeleton.c. updated all build files accordingly.

r1602 | rossb | 2011-02-12 20:26:30 +1100 (Sat, 12 Feb 2011)

added braces to clarify precedence in latency calculation expression

r1601 | rossb | 2011-02-12 20:21:52 +1100 (Sat, 12 Feb 2011)

renamed some latency variables to make it clear they are in frames not seconds

r1600 | rossb | 2011-02-12 20:20:26 +1100 (Sat, 12 Feb 2011)

fixed stream info inputLatency and outputLatency calculations. PaUtil_GetBufferProcessorOutputLatency returns latency in , code assumed it was in seconds.

r1599 | rossb | 2011-02-12 20:19:37 +1100 (Sat, 12 Feb 2011)

fixed stream info inputLatency and outputLatency calculations. PaUtil_GetBufferProcessorOutputLatency returns latency in , code assumed it was in seconds.

r1598 | rossb | 2011-02-12 20:18:28 +1100 (Sat, 12 Feb 2011)

fixed stream info inputLatency and outputLatency calculations. PaUtil_GetBufferProcessorOutputLatency returns latency in , code assumed it was in seconds.

r1597 | dmitrykos | 2011-02-11 11:15:51 +1100 (Fri, 11 Feb 2011)

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.

r1596 | dmitrykos | 2011-02-09 19:53:50 +1100 (Wed, 09 Feb 2011)

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

r1594 | rossb | 2011-02-06 01:33:29 +1100 (Sun, 06 Feb 2011)

corrected typos as per jf_menards's patch in ticket #58

r1592 | rossb | 2011-02-04 21:41:58 +1100 (Fri, 04 Feb 2011)

added #include portaudio.h to pa_mac_core.h so it is consistent with all other host-api specific headers. closes ticket #7

r1589 | dmitrykos | 2011-02-04 02:37:12 +1100 (Fri, 04 Feb 2011)

wasapi: - releasing Input/Output buffer if error occurred inside the processing routine

r1588 | dmitrykos | 2011-02-04 02:15:44 +1100 (Fri, 04 Feb 2011)

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

r1585 | rossb | 2011-02-03 06:31:27 +1100 (Thu, 03 Feb 2011)

removed reference to todo list from main doxygen page

r1584 | rossb | 2011-02-03 05:58:17 +1100 (Thu, 03 Feb 2011)

removed/cleaned up doxygen @todo items. moved to TRAC

r1583 | rossb | 2011-02-03 05:22:43 +1100 (Thu, 03 Feb 2011)

cleanup: changed if() to switch()

r1582 | rossb | 2011-02-03 04:29:26 +1100 (Thu, 03 Feb 2011)

clarified documentation for PaTime and Pa_GetStreamTime

r1579 | rossb | 2011-02-02 00:11:22 +1100 (Wed, 02 Feb 2011)

removed old doxygen @todo comments

r1578 | rossb | 2011-02-02 00:09:10 +1100 (Wed, 02 Feb 2011)

removed obsolete doxygen @todo comments

r1577 | rossb | 2011-02-02 00:03:45 +1100 (Wed, 02 Feb 2011)

referenced trac ticket #113 in doxy todo item

r1576 | rossb | 2011-02-01 23:58:26 +1100 (Tue, 01 Feb 2011)

referenced trac tickets #35 and #112 in pa_converters.c todo items

r1575 | rossb | 2011-02-01 23:52:14 +1100 (Tue, 01 Feb 2011)

removed doxygen TODO items from pa_asio implementation. migrated them to new trac tasks: #103, #104, #105, #106, #107, #108, #109, #110, #111

r1574 | rossb | 2011-02-01 22:18:16 +1100 (Tue, 01 Feb 2011)

corrected doc comment

r1573 | rossb | 2011-02-01 22:17:36 +1100 (Tue, 01 Feb 2011)

simplify doc tweak

r1565 | dmitrykos | 2011-01-04 05:33:32 +1100 (Tue, 04 Jan 2011)

wasapi: allow mono input/output streams be created when Blocking interface is used. Thanks to Chris ([email protected]) for providing the patch.

r1563 | philburk | 2010-12-29 10:03:56 +1100 (Wed, 29 Dec 2010)

test svn access

r1562 | dmitrykos | 2010-12-27 03:36:52 +1100 (Mon, 27 Dec 2010)

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.

r1561 | dmitrykos | 2010-12-27 03:17:56 +1100 (Mon, 27 Dec 2010)

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).

r1560 | dmitrykos | 2010-12-27 02:58:30 +1100 (Mon, 27 Dec 2010)

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)

r1559 | rossb | 2010-12-26 17:43:58 +1100 (Sun, 26 Dec 2010)

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.

r1558 | dmitrykos | 2010-12-26 00:26:17 +1100 (Sun, 26 Dec 2010)

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

r1557 | rossb | 2010-12-11 14:11:35 +1100 (Sat, 11 Dec 2010)

doc tweaks

r1556 | philburk | 2010-11-13 06:14:25 +1100 (Sat, 13 Nov 2010)

First checkin of new loopback unit test for PortAudio.


r1555 | richard_ash | 2010-11-13 04:16:21 +1100 (Sat, 13 Nov 2010)

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.


r1554 | rossb | 2010-11-08 10:57:36 +1100 (Mon, 08 Nov 2010)

updated documentation main page and added api overview page to documentation

r1553 | dmitrykos | 2010-11-07 19:23:51 +1100 (Sun, 07 Nov 2010)

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

r1552 | dmitrykos | 2010-11-06 12:16:34 +1100 (Sat, 06 Nov 2010)

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

r1551 | richard_ash | 2010-10-30 07:41:50 +1100 (Sat, 30 Oct 2010)

Ignore the generated .pc file so it doesn't show up in SVN status output


r1550 | richard_ash | 2010-10-30 07:09:54 +1100 (Sat, 30 Oct 2010)

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)


r1549 | rossb | 2010-10-24 21:21:35 +1100 (Sun, 24 Oct 2010)

clarified some doc comments in pa_ringbuffer.h including one typo that said instead or

r1548 | rossb | 2010-10-22 13:30:38 +1100 (Fri, 22 Oct 2010)

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.

r1547 | rossb | 2010-10-22 13:23:33 +1100 (Fri, 22 Oct 2010)

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)

r1546 | dmitrykos | 2010-10-21 04:32:04 +1100 (Thu, 21 Oct 2010)

wasapi: fixed capturing (Input stream) if Polling mode is used, ProcessInputBuffer was broken erroneously returning AUDCLNT_S_BUFFER_EMPTY and thus breaking Input thread.

r1545 | dmitrykos | 2010-10-21 04:00:54 +1100 (Thu, 21 Oct 2010)

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.

r1544 | bjornroche | 2010-10-17 05:48:29 +1100 (Sun, 17 Oct 2010)

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.

r1543 | dmitrykos | 2010-10-16 07:39:23 +1100 (Sat, 16 Oct 2010)

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.

r1542 | rossb | 2010-10-14 14:34:34 +1100 (Thu, 14 Oct 2010)

improved documentation of paNoInterleaved flag

r1541 | dmitrykos | 2010-09-22 16:33:47 +1000 (Wed, 22 Sep 2010)

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.

r1540 | dmitrykos | 2010-09-21 02:23:30 +1000 (Tue, 21 Sep 2010)

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

r1539 | rossb | 2010-08-30 18:26:58 +1000 (Mon, 30 Aug 2010)

fixed missing return statements from latency listener procs

r1538 | dmitrykos | 2010-08-25 03:44:00 +1000 (Wed, 25 Aug 2010)

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'

r1537 | rossb | 2010-08-20 21:47:02 +1000 (Fri, 20 Aug 2010)

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

r1536 | rossb | 2010-08-14 16:22:26 +1000 (Sat, 14 Aug 2010)

tweaked buffer settings in wmme low level parameters example

r1535 | dmitrykos | 2010-08-07 06:25:07 +1000 (Sat, 07 Aug 2010)

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

r1534 | dmitrykos | 2010-08-04 07:02:52 +1000 (Wed, 04 Aug 2010)

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

r1533 | dmitrykos | 2010-08-02 20:37:18 +1000 (Mon, 02 Aug 2010)

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

r1532 | dmitrykos | 2010-07-30 20:44:18 +1000 (Fri, 30 Jul 2010)

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

r1531 | dmitrykos | 2010-07-30 04:54:45 +1000 (Fri, 30 Jul 2010)

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

r1530 | dmitrykos | 2010-07-29 16:29:41 +1000 (Thu, 29 Jul 2010)

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

r1529 | dmitrykos | 2010-07-23 20:04:03 +1000 (Fri, 23 Jul 2010)

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.

r1528 | dmitrykos | 2010-07-21 07:01:07 +1000 (Wed, 21 Jul 2010)

wasapi: - fixed frames preloading for buffer mode - paUtilFixedHostBufferSize

r1527 | dmitrykos | 2010-07-21 05:01:17 +1000 (Wed, 21 Jul 2010)

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)

r1526 | dmitrykos | 2010-07-16 09:27:21 +1000 (Fri, 16 Jul 2010)

wasapi:

  • fixed usage of uninitialized variable (Input)

r1525 | rossb | 2010-07-14 16:45:25 +1000 (Wed, 14 Jul 2010)

added pragma to auto-link winmm.lib when compiling with msvc

r1524 | dmitrykos | 2010-07-13 04:41:05 +1000 (Tue, 13 Jul 2010)

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)

r1523 | dmitrykos | 2010-07-11 03:41:25 +1000 (Sun, 11 Jul 2010)

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).

r1522 | dmitrykos | 2010-07-10 09:57:51 +1000 (Sat, 10 Jul 2010)

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)

r1521 | dmitrykos | 2010-07-10 03:53:52 +1000 (Sat, 10 Jul 2010)

reverted changes from revisions 1516-1517 due to incorrectly made changes to processor's core which result in corrupted audio in some specific situations

r1519 | dmitrykos | 2010-07-09 07:03:08 +1000 (Fri, 09 Jul 2010)

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

r1518 | dmitrykos | 2010-07-06 17:28:48 +1000 (Tue, 06 Jul 2010)

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)

r1517 | dmitrykos | 2010-06-30 06:58:15 +1000 (Wed, 30 Jun 2010)

fixed processor optimization from previous release for non-interleaved host buffers case (for example ASIO)

r1516 | dmitrykos | 2010-06-29 07:35:04 +1000 (Tue, 29 Jun 2010)

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

r1515 | dmitrykos | 2010-06-29 07:29:16 +1000 (Tue, 29 Jun 2010)

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)

r1514 | dmitrykos | 2010-06-29 07:19:15 +1000 (Tue, 29 Jun 2010)

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

r1513 | dmitrykos | 2010-06-23 05:53:00 +1000 (Wed, 23 Jun 2010)

wasapi: fixed very rare bug causing a dead looping if WASAPI input stream is being aborted

r1512 | dmitrykos | 2010-06-10 19:45:54 +1000 (Thu, 10 Jun 2010)

wasapi: fixed full-duplex failure (when host sample types differ) due to incorrect check made on I/O host buffer sizes

r1511 | dmitrykos | 2010-06-10 19:09:19 +1000 (Thu, 10 Jun 2010)

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.

r1510 | dmitrykos | 2010-06-10 18:05:29 +1000 (Thu, 10 Jun 2010)

unix: fixed compile failure due to warning about unused variable when compilation takes place with -Werror switch

r1509 | dmitrykos | 2010-06-07 03:36:33 +1000 (Mon, 07 Jun 2010)

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

r1508 | dmitrykos | 2010-06-04 06:09:33 +1000 (Fri, 04 Jun 2010)

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

r1507 | dmitrykos | 2010-06-02 03:26:37 +1000 (Wed, 02 Jun 2010)

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)

r1506 | dmitrykos | 2010-06-01 22:45:09 +1000 (Tue, 01 Jun 2010)

alsa: - if polling loop is timed out (paTimedOut) PaAlsaStream_WaitForFrames will not report any frames available

r1505 | dmitrykos | 2010-05-31 19:46:49 +1000 (Mon, 31 May 2010)

wasapi:

  • implemented support of non-Interlieved buffers (paNonInterleaved) for WASAPI blocking interface for input and output
  • blocking methods will now use PA sample converters

r1504 | dmitrykos | 2010-05-31 16:00:16 +1000 (Mon, 31 May 2010)

alsa: - releasing memory of non-MMAPed buffer on stream closure by Pa_CloseStream

r1503 | dmitrykos | 2010-05-31 08:14:00 +1000 (Mon, 31 May 2010)

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

r1502 | dmitrykos | 2010-05-30 17:28:41 +1000 (Sun, 30 May 2010)

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

r1501 | dmitrykos | 2010-05-21 03:28:23 +1000 (Fri, 21 May 2010)

fixed compile for DirectSound implementation under MSYS, missing DSSPEAKER_7POINT1_SURROUND define

r1500 | dmitrykos | 2010-05-19 03:23:56 +1000 (Wed, 19 May 2010)

wasapi:

  • re-enabled Event-driven mode for Windows 7 x64 platform if application runs as WOW64 process

r1499 | dmitrykos | 2010-05-19 01:02:41 +1000 (Wed, 19 May 2010)

wasapi:

  • fixed Event-driven mode, broken in 1496 rev.

r1498 | dmitrykos | 2010-05-18 07:15:13 +1000 (Tue, 18 May 2010)

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

r1497 | dmitrykos | 2010-05-18 04:37:00 +1000 (Tue, 18 May 2010)

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)

r1496 | dmitrykos | 2010-05-13 04:08:45 +1000 (Thu, 13 May 2010)

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

r1495 | dmitrykos | 2010-04-17 17:43:00 +1000 (Sat, 17 Apr 2010)

corrected comments to Int24_To_Int16_Dither

r1494 | dmitrykos | 2010-04-17 05:08:00 +1000 (Sat, 17 Apr 2010)

implemented 'Int24_To_Int16_Dither' converter to allow 24-bit audio be played (before was silence for WMME and DirectSound)

r1493 | dmitrykos | 2010-04-16 18:31:19 +1000 (Fri, 16 Apr 2010)

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

r1492 | dmitrykos | 2010-04-16 03:44:13 +1000 (Fri, 16 Apr 2010)

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)

r1491 | dmitrykos | 2010-04-16 03:15:14 +1000 (Fri, 16 Apr 2010)

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

r1490 | dmitrykos | 2010-04-13 07:15:50 +1000 (Tue, 13 Apr 2010)

wasapi:

  • improved device buffer alignment calculation allowing to set as precise device latency as possible

r1489 | dmitrykos | 2010-04-13 06:55:34 +1000 (Tue, 13 Apr 2010)

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

r1488 | dmitrykos | 2010-04-12 02:13:46 +1000 (Mon, 12 Apr 2010)

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

r1487 | dmitrykos | 2010-04-12 02:04:21 +1000 (Mon, 12 Apr 2010)

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

r1486 | dmitrykos | 2010-04-08 07:07:55 +1000 (Thu, 08 Apr 2010)

excluded x86-64 platform from ASIO 'thiscall' resolver as x64 ABI does not have 'thiscall' calling convention anymore

r1485 | dmitrykos | 2010-03-26 10:27:27 +1100 (Fri, 26 Mar 2010)

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

r1484 | dmitrykos | 2010-03-25 06:08:38 +1100 (Thu, 25 Mar 2010)

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.

r1483 | dmitrykos | 2010-03-18 22:26:47 +1100 (Thu, 18 Mar 2010)

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."


r1482 | dmitrykos | 2010-03-17 21:37:29 +1100 (Wed, 17 Mar 2010)

wasapi: small corrections to improve CoInitialize/CoUninitialize sequence (taken from DS implementation)

r1481 | dmitrykos | 2010-03-16 23:23:13 +1100 (Tue, 16 Mar 2010)

updated 'configure' file, many thanks to Stelios Bounanos for generating it

r1480 | dmitrykos | 2010-03-15 04:25:48 +1100 (Mon, 15 Mar 2010)

wasapi: removed excessive argument checks in stream management functions

r1479 | dmitrykos | 2010-03-14 06:13:06 +1100 (Sun, 14 Mar 2010)

wasapi: improved parameter checks for blocking API

r1478 | dmitrykos | 2010-03-14 05:53:40 +1100 (Sun, 14 Mar 2010)

wasapi: fixed extension functions: PaWasapi_GetDeviceDefaultFormat / PaWasapi_GetDeviceRole - device index was misinterpreted and as a result returning value was mismatched

r1477 | dmitrykos | 2010-03-11 08:47:01 +1100 (Thu, 11 Mar 2010)

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

r1476 | dmitrykos | 2010-03-11 02:03:22 +1100 (Thu, 11 Mar 2010)

wasapi: fixed portaudio.vcproj (wrong filename)

r1475 | dmitrykos | 2010-03-10 02:33:20 +1100 (Wed, 10 Mar 2010)

wasapi: finished changes of include names for case-sensitive build env.

r1474 | dmitrykos | 2010-03-10 02:27:21 +1100 (Wed, 10 Mar 2010)

wasapi: renaming file

r1473 | dmitrykos | 2010-03-10 02:26:45 +1100 (Wed, 10 Mar 2010)

wasapi: renaming file

r1472 | dmitrykos | 2010-03-10 02:26:05 +1100 (Wed, 10 Mar 2010)

wasapi: renaming file

r1471 | dmitrykos | 2010-03-10 02:25:18 +1100 (Wed, 10 Mar 2010)

wasapi: renaming file

r1470 | dmitrykos | 2010-03-10 02:24:25 +1100 (Wed, 10 Mar 2010)

wasapi: renaming file

r1469 | dmitrykos | 2010-03-09 23:29:36 +1100 (Tue, 09 Mar 2010)

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

r1468 | dmitrykos | 2010-03-08 21:33:58 +1100 (Mon, 08 Mar 2010)

wasapi:

  • improved debug log output: function name which returned error will be displayed as well
  • fixed non-critical compiler warnings

r1467 | dmitrykos | 2010-03-04 22:02:06 +1100 (Thu, 04 Mar 2010)

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

r1466 | dmitrykos | 2010-03-04 09:57:16 +1100 (Thu, 04 Mar 2010)

+++ 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

r1465 | dmitrykos | 2010-03-03 06:08:13 +1100 (Wed, 03 Mar 2010)

+++ 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)

r1464 | dmitrykos | 2010-03-03 04:42:36 +1100 (Wed, 03 Mar 2010)

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)

r1463 | dmitrykos | 2010-03-02 23:17:03 +1100 (Tue, 02 Mar 2010)

fixed dummy compilation of pa_win_wasapi.cpp using MinGW(GCC) compilers by adding missing Avrt type

r1462 | dmitrykos | 2010-02-26 19:57:44 +1100 (Fri, 26 Feb 2010)

+++ wasapi: Event-driven/Full-Duplex/Exclusive mode will be calling user-provided callbacks simultaneously when both input/output buffers are ready for IO

r1461 | rossb | 2010-02-23 03:29:48 +1100 (Tue, 23 Feb 2010)

changed buffer sizes

r1460 | rossb | 2010-02-23 03:07:56 +1100 (Tue, 23 Feb 2010)

added test for wmme low level latency params

r1459 | dmitrykos | 2010-02-20 23:03:57 +1100 (Sat, 20 Feb 2010)

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

r1458 | dmitrykos | 2010-02-20 22:55:20 +1100 (Sat, 20 Feb 2010)

wasapi: fixed capturing callback not called if paWinWasapiPolling flag specified, or WOW64 workaround is used, same bug was causing div/0 crash

r1457 | dmitrykos | 2010-02-19 22:16:01 +1100 (Fri, 19 Feb 2010)

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.

r1456 | dmitrykos | 2010-02-17 21:11:40 +1100 (Wed, 17 Feb 2010)

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.

r1455 | dmitrykos | 2010-02-16 22:52:19 +1100 (Tue, 16 Feb 2010)

fixed crash on NULL pointer usage if hostApiSpecificStreamInfo was NULL in Pa_OpenStream method

r1454 | dmitrykos | 2010-02-16 22:18:52 +1100 (Tue, 16 Feb 2010)

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.

r1453 | dmitrykos | 2010-02-16 20:46:08 +1100 (Tue, 16 Feb 2010)

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.

r1452 | dmitrykos | 2010-02-11 05:10:18 +1100 (Thu, 11 Feb 2010)

justtesting

r1451 | philburk | 2010-02-11 05:05:40 +1100 (Thu, 11 Feb 2010)

justtesting

r1450 | rossb | 2010-02-03 11:28:29 +1100 (Wed, 03 Feb 2010)

fix for undefined DirectSoundFullDuplex8 when PAWIN_USE_DIRECTSOUNDFULLDUPLEXCREATE wasn't defined. thanks Dmitry

r1449 | rossb | 2010-02-02 20:01:13 +1100 (Tue, 02 Feb 2010)

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.

r1448 | rossb | 2010-01-25 00:17:31 +1100 (Mon, 25 Jan 2010)

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)

r1447 | rossb | 2010-01-24 23:35:36 +1100 (Sun, 24 Jan 2010)

reset oscillator phase at start of each test cycle so that the onsets sound the same

r1446 | rossb | 2010-01-24 23:27:31 +1100 (Sun, 24 Jan 2010)

removed hardwired device number from previous commit

r1445 | rossb | 2010-01-24 23:09:34 +1100 (Sun, 24 Jan 2010)

DirectSound don't crash when starting a blocking io (non-callback) stream. blocking io still not implemented though.

r1444 | rossb | 2010-01-24 22:48:06 +1100 (Sun, 24 Jan 2010)

added test case to patest_stop_playout.c which catches issues with host buffers looping/not being cleared if the callback returns paComplete

r1443 | rossb | 2010-01-24 22:42:56 +1100 (Sun, 24 Jan 2010)

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.

r1442 | rossb | 2010-01-24 20:34:48 +1100 (Sun, 24 Jan 2010)

clean up resources better if DirectSound OpenStream fails

r1441 | rossb | 2010-01-24 20:21:50 +1100 (Sun, 24 Jan 2010)

fixes to DirectSound implementation to work in unicode builds

r1440 | rossb | 2010-01-24 20:20:23 +1100 (Sun, 24 Jan 2010)

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.

r1439 | rossb | 2010-01-24 19:42:02 +1100 (Sun, 24 Jan 2010)

added msvc link pragma to require ksguid.lib

r1438 | rossb | 2009-12-23 16:35:08 +1100 (Wed, 23 Dec 2009)

made buffer in PaUtil_DebugPrint local rather than static to avoid multithreaded issues

r1437 | rossb | 2009-12-10 19:10:08 +1100 (Thu, 10 Dec 2009)

ifdefs for correct windows mobile compilation

r1436 | rossb | 2009-12-10 19:09:21 +1100 (Thu, 10 Dec 2009)

added cast to IsDebuggerPresentPtr, fixes compilation of asio on some systems

r1435 | bjornroche | 2009-12-10 12:37:02 +1100 (Thu, 10 Dec 2009)

updated configure with a simple run of autoconf. seems to work on mac.

r1434 | rossb | 2009-12-09 12:55:50 +1100 (Wed, 09 Dec 2009)

derive ds output channel count from speaker configuration when pnpInterface is unavailable (eg wavemapper). Thanks to Dmitry Kostjuchenko for the patch.

r1433 | rossb | 2009-12-09 12:42:59 +1100 (Wed, 09 Dec 2009)

fix for bad x64 DWORD_PTR define

r1432 | rossb | 2009-12-09 12:31:44 +1100 (Wed, 09 Dec 2009)

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.

r1431 | rossb | 2009-12-08 20:40:09 +1100 (Tue, 08 Dec 2009)

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

r1430 | rossb | 2009-12-08 20:26:33 +1100 (Tue, 08 Dec 2009)

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.

r1429 | rossb | 2009-12-08 20:17:34 +1100 (Tue, 08 Dec 2009)

added empty memory barrier macros for WINCE thanks to Dmitry Kostjuchenko

r1428 | bjornroche | 2009-12-03 04:48:05 +1100 (Thu, 03 Dec 2009)

added and removed dummy property listener as this may be required by OS X 10.6. Also, returned no error on property timeout.

r1427 | bjornroche | 2009-12-02 02:58:37 +1100 (Wed, 02 Dec 2009)

cleanup of property change checking and error handling

r1426 | bjornroche | 2009-12-02 02:38:55 +1100 (Wed, 02 Dec 2009)

added return char

r1425 | bjornroche | 2009-12-02 02:38:08 +1100 (Wed, 02 Dec 2009)

removed some redundant code

r1424 | bjornroche | 2009-12-01 08:08:54 +1100 (Tue, 01 Dec 2009)

added new test for hardware samplerate changes. This is mostly targetted to the mac, but could be adapted to other platforms as well.

r1423 | bjornroche | 2009-12-01 08:07:43 +1100 (Tue, 01 Dec 2009)

fixes for hardware samplerate changes

r1422 | bjornroche | 2009-11-19 08:07:31 +1100 (Thu, 19 Nov 2009)

added assert back as suggested by Dmitry Kostjuchenko

r1421 | bjornroche | 2009-11-19 03:09:05 +1100 (Thu, 19 Nov 2009)

fix for ringbuffer problem on 64-bit macs. Also, this should make it possible to migrate away from using the long datatype on pa_ringbuffer.

r1420 | bjornroche | 2009-10-23 04:51:07 +1100 (Fri, 23 Oct 2009)

added two includes which should not be necessary but seem to help compiling in snow leopard

r1419 | bjornroche | 2009-10-23 04:28:35 +1100 (Fri, 23 Oct 2009)

patch to use mach absolute time on mac OS X since apple advises against gettimeofday in IOProcs. Patch due to Ross Bencina.

r1418 | philburk | 2009-10-13 08:00:53 +1100 (Tue, 13 Oct 2009)

Fixed dither for 64-bit targets.


r1417 | rossb | 2009-09-09 22:48:17 +1000 (Wed, 09 Sep 2009)

added instructions for building without ASIO support to the msvc readme

r1416 | rossb | 2009-06-17 02:12:41 +1000 (Wed, 17 Jun 2009)

removed reaper asio driver blacklisting

r1415 | aknudsen | 2009-06-04 04:57:56 +1000 (Thu, 04 Jun 2009)

Fix latency calculation in PA ALSA


r1414 | aknudsen | 2009-05-25 03:02:10 +1000 (Mon, 25 May 2009)

Add PA ALSA extension to allow setting number of retries when busy


r1413 | aknudsen | 2009-05-25 03:00:36 +1000 (Mon, 25 May 2009)

Clarify hostapi ordering somewhat


r1412 | aknudsen | 2009-05-25 02:54:22 +1000 (Mon, 25 May 2009)

Apply Kevin Kofler's non-mmap patch


r1411 | rossb | 2009-05-15 00:37:37 +1000 (Fri, 15 May 2009)

fix for half duplex and build issues from Toni Wilen.

r1410 | rossb | 2009-04-07 20:08:48 +1000 (Tue, 07 Apr 2009)

added pragma to autolink libwinmm with msvc to get timeGetTime symbol when only using ASIO. thanks Yann

r1409 | davidv | 2009-04-05 06:04:53 +1000 (Sun, 05 Apr 2009)

fixed a bug in WAVEFORMATEX casts, and warnings on sprintf

r1408 | rossb | 2009-03-14 03:41:39 +1100 (Sat, 14 Mar 2009)

fixed inputBufferAdcTime calculation for AdaptingInputOnlyProcess. patch from Yann.

r1407 | rossb | 2009-03-14 03:31:28 +1100 (Sat, 14 Mar 2009)

fixed bug in asio blocking i/o stream initialization which would cause crash (bad ptr). enabled timeout code in read/writestream. patch from sven fischer

r1406 | rossb | 2009-03-08 19:15:50 +1100 (Sun, 08 Mar 2009)

added notes to pa_test_ac3.c that the test stream file must include the correct spdif preamble on every ac3 frame

r1405 | rossb | 2009-03-08 19:10:55 +1100 (Sun, 08 Mar 2009)

always disable wmme clip and dither if an spdif passthrough wave format is requested

r1404 | rossb | 2009-03-08 18:15:03 +1100 (Sun, 08 Mar 2009)

minor code logic cleanup

r1403 | rossb | 2009-01-29 18:33:04 +1100 (Thu, 29 Jan 2009)

added patest_wmme_ac3.cp test for wmme ac3 spdif passthrough

r1402 | rossb | 2009-01-29 17:28:30 +1100 (Thu, 29 Jan 2009)

wmme host api: take account of paWinMmeWaveFormatDolbyAc3Spdif and paWinMmeWaveFormatWmaSpdif flags in Pa_IsFormatSupported

r1401 | rossb | 2009-01-21 23:07:32 +1100 (Wed, 21 Jan 2009)

initial support for ac3+wma spdif passthrough for pa_win_wmme. see flags in pa_win_wmme.h. flags currently work for OpenStream but are ignored for IsFormatSupported

r1400 | rossb | 2009-01-21 21:20:42 +1100 (Wed, 21 Jan 2009)

doccomment for PaAsio_SetStreamSampleRate()

r1399 | rossb | 2009-01-05 20:08:44 +1100 (Mon, 05 Jan 2009)

factored asio sample rate setting code into separate functions. added PaAsio_SetStreamSampleRate() function.

r1398 | rossb | 2009-01-05 19:59:14 +1100 (Mon, 05 Jan 2009)

cleaned up logic related to theAsioStream singleton pointer (now gets set in OpenStream and cleared in CloseStream. added callback-completion waiting to StopStream (was only in AbortStream before). cleaned up isStopped/isActive logic

r1397 | rossb | 2009-01-04 19:28:42 +1100 (Sun, 04 Jan 2009)

cleanup: moved blocking stream asio callback function next to other blocking related code

r1396 | philburk | 2008-11-04 06:31:30 +1100 (Tue, 04 Nov 2008)

remove extra parameter from debug statement to prevent pointer error

r1395 | bjornroche | 2008-10-25 01:10:04 +1100 (Sat, 25 Oct 2008)

fixed bug as suggested by Michael allen. This fixes issues with blocking IO on the mac when using different number of channels for input and output.

r1394 | gordon_gidluck | 2008-10-06 02:15:34 +1100 (Mon, 06 Oct 2008)

ticket#84

r1393 | gordon_gidluck | 2008-10-06 02:15:15 +1100 (Mon, 06 Oct 2008)

ticket#84

r1392 | gordon_gidluck | 2008-10-06 02:14:25 +1100 (Mon, 06 Oct 2008)

ticket #84. Fix for Cygwin. Added a #define called CREATE_THREAD. Cygwin will call CreateThread, whereas other dev environments will generate code to call _beginthreadex. endthreadex was handled in the same way.

r1391 | gordon_gidluck | 2008-09-15 01:24:58 +1000 (Mon, 15 Sep 2008)

ticket#84. Ran into a problem with conversion from CreateFile to _beginthreadex. Changing it back for now.

r1390 | gordon_gidluck | 2008-09-15 00:29:34 +1000 (Mon, 15 Sep 2008)

change CreateThread to _beginthreadex (related to ticket #84)

r1389 | gordon_gidluck | 2008-09-15 00:27:40 +1000 (Mon, 15 Sep 2008)

changed CreateThread to _beginthreadex and ExitThread to _endthreadex (related to ticket #84)

r1388 | gordon_gidluck | 2008-09-15 00:18:17 +1000 (Mon, 15 Sep 2008)

change CreateThread to _beginthreadex (see ticket #84)

r1387 | philburk | 2008-06-29 04:28:07 +1000 (Sun, 29 Jun 2008)

Add TIME to version text.

r1386 | philburk | 2008-06-29 04:27:34 +1000 (Sun, 29 Jun 2008)

Supports multiple threads using ASIO by adding CoInitialize(0) and CoUninitialize() calls.

r1385 | aknudsen | 2008-06-06 07:13:54 +1000 (Fri, 06 Jun 2008)

OSS: clear trigger direction bits at correct time


r1384 | rossb | 2008-05-15 14:35:30 +1000 (Thu, 15 May 2008) | 1 line

always use __vsnprintf with MSC

r1383 | bjornroche | 2008-05-14 05:10:54 +1000 (Wed, 14 May 2008)

removed obsolete darwin compiling instructions

r1382 | philburk | 2008-05-14 02:31:34 +1000 (Wed, 14 May 2008)

tweak svn test


r1381 | aknudsen | 2008-03-31 08:02:09 +1100 (Mon, 31 Mar 2008)

Order Unix host api initializers depending on whether we're on Linux

r1380 | aknudsen | 2008-03-26 07:21:35 +1100 (Wed, 26 Mar 2008)

Avoid warnings about unused labels

r1379 | bjornroche | 2008-03-21 01:24:39 +1100 (Fri, 21 Mar 2008)

moved trunk into place

r1377 | bjornroche | 2008-03-21 01:18:47 +1100 (Fri, 21 Mar 2008)

moved trunk out of way. should disable accidental commits

r1374 | aknudsen | 2008-03-19 01:55:04 +1100 (Wed, 19 Mar 2008)

Choose ALSA before OSS on Linux

r1373 | rossb | 2008-03-12 16:24:55 +1100 (Wed, 12 Mar 2008)

a test to test all sample format converters in pa_converters.c step towards resolving ticket #35

r1372 | bjornroche | 2008-03-12 02:20:38 +1100 (Wed, 12 Mar 2008)

added FIXME for ringbuffer element size in Core Audio

r1371 | bjornroche | 2008-03-12 01:27:26 +1100 (Wed, 12 Mar 2008)

fixed uninitialized variable warning in patest_prime.c

r1370 | jpgrayson | 2008-03-07 04:14:06 +1100 (Fri, 07 Mar 2008)

Commit new configure that is up-to-date with latest changes to configure.in (asio build fixes).


r1369 | jpgrayson | 2008-03-07 04:10:28 +1100 (Fri, 07 Mar 2008)

Fix line endings. Touch up other whitespace.


r1368 | rossb | 2008-03-01 11:38:27 +1100 (Sat, 01 Mar 2008)

patch from magnus jonsson to print error instead of crash in tests when there is no default input (or output) device. changes to paqa_errs are related to ticket #61

r1367 | rossb | 2008-03-01 10:45:23 +1100 (Sat, 01 Mar 2008)

added pa_ringbuffer to portaudio.dsp (VC6 project) for pa_asio

r1366 | rossb | 2008-03-01 10:39:43 +1100 (Sat, 01 Mar 2008)

msvc memory barrier intrinsics from peter grayson

r1365 | rossb | 2008-03-01 10:29:29 +1100 (Sat, 01 Mar 2008)

added pa_ringbuffer to portaudio.vcproj for pa_asio

r1364 | rossb | 2008-03-01 10:23:16 +1100 (Sat, 01 Mar 2008)

added pa_ringbuffer to configure.in for pa_asio

r1363 | rossb | 2008-02-29 19:59:47 +1100 (Fri, 29 Feb 2008)

Blocking i/o implementation by Sven Fischer. adds pa_asio dependency on pa_ringbuffer.c. Added i386 memory barriers for MSVC and BORLAND

r1362 | aknudsen | 2008-02-29 08:43:57 +1100 (Fri, 29 Feb 2008)

Ensure stream validity in PaAlsa_GetStream*Card

r1361 | aknudsen | 2008-02-29 08:35:22 +1100 (Fri, 29 Feb 2008)

Fixed bug in SCons setup


r1360 | jpgrayson | 2008-02-24 06:10:38 +1100 (Sun, 24 Feb 2008)

Fix (or at least make less grossly broken) asio build for Mac and Windows.


r1359 | rossb | 2008-02-23 20:46:25 +1100 (Sat, 23 Feb 2008)

corrected README

r1358 | jpgrayson | 2008-02-23 07:48:22 +1100 (Sat, 23 Feb 2008)

  • Small fixes to build system. -- Fix some typos in configure.in affecting Mac ASIO build and C++ binding builds. -- Remove unused LT_RELEASE variable from configure.in and Makefile.in. -- Split really long PA_LDFLAGS assignment. -- Substitute make built-in $(RM) for "rm -f". -- Use variable for lib-stamp command; this reduces output noise at make-time. -- Use simple variable expansion when assigning OBJS.

r1357 | rossb | 2008-02-22 18:58:10 +1100 (Fri, 22 Feb 2008)

fix for make uninstall breakage from pete ross

r1356 | rossb | 2008-02-22 16:35:29 +1100 (Fri, 22 Feb 2008)

patch from Eliot Blennerhassett to use new stream read write functions that first appeared in HPI version 3.05.05. resolves ticket #51

r1355 | jpgrayson | 2008-02-22 07:51:22 +1100 (Fri, 22 Feb 2008)

  • Apply patch to adds NetBSD support to scons build. -- Thanks to Jorge Maciá.

r1354 | jpgrayson | 2008-02-22 07:42:43 +1100 (Fri, 22 Feb 2008)

Modify scons build system to now work on MacOSX (darwin). Thanks Jorge Maciá.


r1353 | jpgrayson | 2008-02-22 07:34:00 +1100 (Fri, 22 Feb 2008)

  • Applied initial part of darwin build fix patch from Jorge Maciá. -- Move mac-specific hostapi stuff from pa_mac_hostapis.c into more generic pa_unix_hostapis.c. -- Remove deprecated pa_mac_hostapis.c. -- Update configure script to use pa_unix_hostapis.c for darwin builds.

r1352 | jpgrayson | 2008-02-22 03:42:04 +1100 (Fri, 22 Feb 2008)

Support Sun's cc compiler on solaris. Thanks Pete Ross.


r1351 | jpgrayson | 2008-02-22 03:40:18 +1100 (Fri, 22 Feb 2008)

More robust make recursion. Thanks Pete Ross.


r1350 | jpgrayson | 2008-02-22 03:08:28 +1100 (Fri, 22 Feb 2008)

  • Partial patch for NetBSD support -- Add configure-time test for libossaudio library.

r1349 | jpgrayson | 2008-02-22 03:07:31 +1100 (Fri, 22 Feb 2008)

  • Partial patch for NetBSD support. -- Change DEVICE_NAME_BASE when building for NetBSD. -- Only use SNDCTL_DSP_GETODELAY ioctl() if it is available.

r1348 | rossb | 2008-02-21 16:31:26 +1100 (Thu, 21 Feb 2008)

cosmetic cleanups to bracket placement in pa_asio.c

r1347 | rossb | 2008-02-21 15:54:36 +1100 (Thu, 21 Feb 2008)

more ringbuffer comment docs and cleanups from Sven Fischer

r1346 | rossb | 2008-02-20 21:09:20 +1100 (Wed, 20 Feb 2008)

added support for multi-byte elements in pa_ringbuffer.c/h thanks to Sven Fischer

r1345 | rossb | 2008-02-20 15:21:56 +1100 (Wed, 20 Feb 2008)

fixed strings.h -> string.h : thanks Jorge Acereda

r1344 | rossb | 2008-02-18 19:36:54 +1100 (Mon, 18 Feb 2008)

fixed bug not clearing global asioDrivers variable introduced in prevous checkin r1343

r1343 | rossb | 2008-02-18 19:27:03 +1100 (Mon, 18 Feb 2008)

added explicit management of the asioDrivers instance creation and destruction. this fixes a leak where the asioDrivers instance was never destroyed.

r1342 | rossb | 2008-02-15 23:46:45 +1100 (Fri, 15 Feb 2008)

revised ASIO-README.txt

r1341 | rossb | 2008-02-15 22:43:43 +1100 (Fri, 15 Feb 2008)

Fixed ticket #3. removed code which zeroed timeInfo->currentTime in the buffer processor.

r1340 | rossb | 2008-02-15 19:31:42 +1100 (Fri, 15 Feb 2008)

added casts of result of alloca() for LCC compatibility, thanks Sven Fischer

r1339 | rossb | 2008-02-15 18:50:33 +1100 (Fri, 15 Feb 2008)

resolved ticket #4 deleted V19-devel-readme.txt and moved relevant information from it into doxygen comments. improved doxygen documentation. wrapped config flags in pa_trace.h with #ifndef to allow them to be overridden using compiler flags.

r1338 | rossb | 2008-02-15 18:50:00 +1100 (Fri, 15 Feb 2008)

replaced bzero() with memset() thanks pete ross

r1337 | rossb | 2008-02-15 18:32:09 +1100 (Fri, 15 Feb 2008)

resolved ticket #4 deleted V19-devel-readme.txt and moved relevant information from it into doxygen comments. improved doxygen documentation. wrapped config flags in pa_trace.h with #ifndef to allow them to be overridden using compiler flags.

r1336 | rossb | 2008-02-14 03:11:30 +1100 (Thu, 14 Feb 2008)

patch from Peter Ross to fixe cygwin/mingw ./configure builds

r1335 | rossb | 2008-02-14 03:00:30 +1100 (Thu, 14 Feb 2008)

added explanatory comment re DS API behavior

r1334 | bjornroche | 2008-02-09 03:31:43 +1100 (Sat, 09 Feb 2008)

added check for ppc and powerpc and comment that check for PPC is probably not needed in membar code. Also linebreak. Thanks Peter Grayson.

r1333 | rossb | 2008-02-05 18:23:01 +1100 (Tue, 05 Feb 2008)

fix for msvc compiler warning, make literal explicitly single precision float. thanks peter grayson

r1332 | aknudsen | 2008-02-05 09:21:35 +1100 (Tue, 05 Feb 2008)

From Peter Grayson: fix pkg-config when using ALSA

r1331 | bjornroche | 2008-02-03 06:22:41 +1100 (Sun, 03 Feb 2008

removed memory barriers from section of code that is instead protected by mutex

r1330 | bjornroche | 2008-02-03 06:11:55 +1100 (Sun, 03 Feb 2008)

Patch to make universal binary optional. (This is not quite patch 5/5 from Peter Grayson referanced here: http://techweb.rfa.org/pipermail/portaudio/2008-January/008180.html, but rather this modicication: http://techweb.rfa.org/pipermail/portaudio/2008-February/008188.html)

r1329 | bjornroche | 2008-02-03 03:08:41 +1100 (Sun, 03 Feb 2008)

simplified/cleaned configure code dealing with mac universal binaries. (patch 4/5 from Peter Grayson: http://techweb.rfa.org/pipermail/portaudio/2008-January/008180.html)

r1328 | bjornroche | 2008-02-03 03:04:52 +1100 (Sun, 03 Feb 2008)

Fixed issue that caused CFLAGS from environment to be ignored in default case. also removed unnecessary assignemnt of CXXFLAGS. (patch 3/5 from Peter Grayson: http://techweb.rfa.org/pipermail/portaudio/2008-January/008180.html)

r1327 | bjornroche | 2008-02-03 02:58:42 +1100 (Sun, 03 Feb 2008)

Fixed typo that would have caused trouble in Mac OS X 10.4 builds. (patch 2/5 from Peter Grayson: http://techweb.rfa.org/pipermail/portaudio/2008-January/008180.html)

r1326 | bjornroche | 2008-02-03 02:54:23 +1100 (Sun, 03 Feb 2008)

Normalized whitespace (including tab removal) and semicolon usage in configure.in. (patch 1/5 from Peter Grayson: http://techweb.rfa.org/pipermail/portaudio/2008-January/008180.html)

r1325 | aknudsen | 2008-02-02 04:53:49 +1100 (Sat, 02 Feb 2008)

Patch by Jorge Maciá: Add error descriptions


r1324 | bjornroche | 2008-01-27 13:03:30 +1100 (Sun, 27 Jan 2008)

added -Werror flag back to all mac builds. This required slight tweak to pa_endianness to avoid unused variable warning.

r1323 | bjornroche | 2008-01-27 12:45:01 +1100 (Sun, 27 Jan 2008)

backout configure change accidentally added in last commit. I may be about to add it back, but it should not have been part of the previous commit.

r1322 | bjornroche | 2008-01-27 12:43:09 +1100 (Sun, 27 Jan 2008)

some error checking.

r1321 | bjornroche | 2008-01-27 12:27:22 +1100 (Sun, 27 Jan 2008)

fixed potential isues with accessing freed memory in Core Audio code when dealing with xruns

r1320 | bjornroche | 2008-01-27 12:03:39 +1100 (Sun, 27 Jan 2008)

separated memory barrier code from ringbuffer for greater modularity

r1319 | bjornroche | 2008-01-27 07:32:23 +1100 (Sun, 27 Jan 2008)

added --enable-mac-debug flag to control -g and -DNDEBUG flags in mac build only.

r1318 | bjornroche | 2008-01-27 06:18:29 +1100 (Sun, 27 Jan 2008)

tweaked handling of xruns in core audio slightly. should be cleaner this way

r1317 | bjornroche | 2008-01-24 08:11:48 +1100 (Thu, 24 Jan 2008)

added necessary include file to pa_mac_core_utilities.c

r1316 | bjornroche | 2008-01-24 07:40:38 +1100 (Thu, 24 Jan 2008)

applied patch to fix ticket 64 -- added list of listeners for xruns in CoreAudio.

r1315 | bjornroche | 2008-01-23 10:02:18 +1100 (Wed, 23 Jan 2008)

some assertion cleanup

r1314 | aknudsen | 2008-01-14 09:25:15 +1100 (Mon, 14 Jan 2008)

Fix call to PaUtil_SetLastHostErrorInfo in OSS

r1313 | aknudsen | 2008-01-14 09:22:36 +1100 (Mon, 14 Jan 2008)

Patch from Stelios Bounanos: set host error info more consistently in OSS

r1312 | bjornroche | 2008-01-14 03:11:07 +1100 (Mon, 14 Jan 2008)

fix for xrun detection suggested by Jorge Acereda Macia for Core Audio

r1311 | bjornroche | 2008-01-13 05:15:22 +1100 (Sun, 13 Jan 2008)

fixed code inside asserts as suggested by Jorge Acerda Macia.

r1310 | aknudsen | 2008-01-07 01:30:37 +1100 (Mon, 07 Jan 2008)

OSS: Don't stat before trying to open device

r1309 | aknudsen | 2008-01-02 09:02:42 +1100 (Wed, 02 Jan 2008)

Export extensions in shared library also when using autotools .....

r1308 | gordon_gidluck | 2007-12-26 13:45:15 +1100 (Wed, 26 Dec 2007)

pa_devs.c changed reference from Pa_CountDevices to Pa_GetDeviceCount

r1307 | aknudsen | 2007-12-17 02:40:10 +1100 (Mon, 17 Dec 2007)

Tweaked error handling in PaOssStream_Stop

Clone this wiki locally