Commit graph portaudio/src
Author SHA1 Message Date
philburk
edac3c99eb Fix improper calculation of big buffer sizes. See bug #187
This fixes a click heard with big buffers.
2011-07-21 18:44:58 +00:00
philburk
3aad8c0a9f Fixed broken Mac build by removing unused label. 2011-07-21 17:34:19 +00:00
philburk
e3387a98a7 Improve calculation of default latencies on Mac CoreAudio.
Allow very low buffer sizes if suggestedLatency is low.
Set actual latencies in StreamInfo.
2011-07-21 08:29:26 +00:00
rossb
982dd233f5 fixed regression in r1612 that broke coreaudio non-interleaved callback i/o 2011-06-30 12:48:08 +00:00
rossb
f95c722aad made ring buffer params const-correct 2011-06-17 08:01:02 +00:00
aknudsen
ef2d8b6cd8 PA ALSA: define SND_PCM_TSTAMP_ENABLE as SND_PCM_TSTAMP_MMAP if the former is undefined 2011-05-26 20:19:19 +00:00
rob_bielik
e535a7b800 Initial CMake support (MSVC only at the moment) 2011-05-19 08:24:02 +00:00
rossb
5716669053 extra comments 2011-05-11 21:05:18 +00:00
rossb
56422c6c56 fixed use of timeBeginPeriod/timeEndPeriod in pa_win_ds.c 2011-05-11 20:52:24 +00:00
rossb
28397f5c4a Replaced MM timer with a high priority thread for audio compute, based on a patch by Dmitry Kostjuchenko. Reason: there is one global MM timer thread per process and doing audio compute in it was interfering with timer accuracy and also with running multiple DSound streams. The old MM timer based implementation is still available if you define PA_WIN_DS_USE_WMME_TIMER -- this may be removed in future. 2011-05-11 10:00:52 +00:00
rossb
d03dd9e357 added userFramesPerBuffer parameter to SelectHostBufferSize in preparation for improving asio buffer size handling 2011-05-10 15:58:15 +00:00
rob_bielik
b5fc9f995f Added pa_win_coinitialize.c to MSVC project and windows configure scripts 2011-05-10 06:35:21 +00:00
rossb
52ab9d6600 refactored COM initialization for dsound, asio and wasapi to new source file pa_win_coinitialize.c. fixes com uninitialisation bugs in error cases. resolves ticket #128 2011-05-09 20:05:34 +00:00
rossb
cbd24dc45c renamed PaUtil_GetBufferProcessorInputLatency to PaUtil_GetBufferProcessorInputLatencyFrames and PaUtil_GetBufferProcessorOutputLatency to PaUtil_GetBufferProcessorOutputLatencyFrames. see ticket #161 2011-05-02 17:07:11 +00:00
rossb
1938ce6628 renamed PaAsio_GetAvailableLatencyValues to PaAsio_GetAvailableBufferSizes and included a backward compatibility #define. see ticket #111. 2011-05-02 15:49:20 +00:00
rossb
b1035dcd8f removed #ifndef check for PA_USE_DS from pa_win_ds.c 2011-05-01 16:14:29 +00:00
rossb
57264ba799 fixed copy/past error in PA_USE_DS check code in pa_win_ds.c 2011-05-01 12:05:52 +00:00
dmitrykos
ff61de145b 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)
2011-03-08 17:20:07 +00:00
rossb
26b196a9f0 moved skeleton to end of win32 initializers list so it isn't considered default 2011-03-04 04:18:44 +00:00
rossb
2fb11cbabd support building skeleton host api on windows 2011-03-04 04:12:08 +00:00
rossb
1783cf4fba use LoadLibraryA instead of LoadLibrary to support unicode build 2011-03-04 01:45:06 +00:00
philburk
1ca032a561 Ass semicolon to fix "label at end of compound statement" error
caused by pthread_cleanup_pop(1) macro.
2011-03-01 00:49:52 +00:00
philburk
7aad01a1d3 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.
2011-02-28 23:56:48 +00:00
dmitrykos
3fb0ef9e30 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 2011-02-21 22:41:06 +00:00
rob_bielik
59f8c8975c Ticket #132 2011-02-17 15:56:04 +00:00
rossb
54aaddf9e3 moved src/common/pa_skeleton.c to src/hostapi/skeleton/pa_hostapi_skeleton.c. updated all build files accordingly. 2011-02-12 10:22:00 +00:00
rossb
af36f2762b added braces to clarify precedence in latency calculation expression 2011-02-12 09:26:30 +00:00
rossb
e794f3bd02 renamed some latency variables to make it clear they are in frames not seconds 2011-02-12 09:21:52 +00:00
rossb
a5eb2767c7 fixed stream info inputLatency and outputLatency calculations. PaUtil_GetBufferProcessorOutputLatency returns latency in <frames>, code assumed it was in seconds. 2011-02-12 09:20:26 +00:00
rossb
ba156ee92f fixed stream info inputLatency and outputLatency calculations. PaUtil_GetBufferProcessorOutputLatency returns latency in <frames>, code assumed it was in seconds. 2011-02-12 09:19:37 +00:00
rossb
ad9c8ad083 fixed stream info inputLatency and outputLatency calculations. PaUtil_GetBufferProcessorOutputLatency returns latency in <frames>, code assumed it was in seconds. 2011-02-12 09:18:28 +00:00
dmitrykos
9c4c92fef6 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.
2011-02-11 00:15:51 +00:00
dmitrykos
4318a7556b 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
2011-02-09 08:53:50 +00:00
rossb
5027e95e70 corrected typos as per jf_menards's patch in ticket #58 2011-02-05 14:33:29 +00:00
dmitrykos
f588f3cd5d wasapi: - releasing Input/Output buffer if error occurred inside the processing routine 2011-02-03 15:37:12 +00:00
dmitrykos
2b0faea85c 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
2011-02-03 15:15:44 +00:00
rossb
b4931e7298 removed/cleaned up doxygen @todo items. moved to TRAC 2011-02-02 18:58:17 +00:00
rossb
931a003f52 cleanup: changed if() to switch() 2011-02-02 18:22:43 +00:00
rossb
aa80b24004 removed obsolete doxygen @todo comments 2011-02-01 13:09:10 +00:00
rossb
a04c0e6e6f referenced trac ticket #113 in doxy todo item 2011-02-01 13:03:45 +00:00
rossb
6d04ded9c3 referenced trac tickets #35 and #112 in pa_converters.c todo items 2011-02-01 12:58:26 +00:00
rossb
e286d2c10a removed doxygen TODO items from pa_asio implementation. migrated them to new trac tasks: #103, #104, #105, #106, #107, #108, #109, #110, #111 2011-02-01 12:52:14 +00:00
rossb
13a5f4a980 corrected doc comment 2011-02-01 11:18:16 +00:00
dmitrykos
272adbefc7 wasapi: allow mono input/output streams be created when Blocking interface is used. Thanks to Chris (c319chris@aol.com) for providing the patch. 2011-01-03 18:33:32 +00:00
dmitrykos
8b6f0610b6 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. 2010-12-26 16:36:52 +00:00
dmitrykos
41645b30d5 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). 2010-12-26 16:17:56 +00:00
dmitrykos
db36090a98 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) 2010-12-26 15:58:30 +00:00
rossb
ce6c4dfba6 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. 2010-12-26 06:43:58 +00:00
dmitrykos
ba1def6126 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 2010-12-25 13:26:17 +00:00
richard_ash
148784f3c7 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. 2010-11-12 17:16:21 +00:00