rossb
f519653f7e
CoreAudio: if user specifies framesPerBuffer make sure host buffer is an integer multiple of user buffer
2011-10-20 09:40:12 +00:00
eblennerhassett
3130f5c1af
Update header authors, copyrights, HPI url. Remove Ludwig Schwardt bugreport email.
2011-10-18 20:48:49 +00:00
eblennerhassett
82be702f17
Replace deprecated HPI functions and datatypes with current (HPIv4.08) for #197
...
Remove support for HPI < 3.5
Replace unused subsys pointer parameter with NULL.
2011-10-18 20:34:48 +00:00
philburk
9cdd56f5b4
Implement the Float32 to UInt8 converters.
...
The loopback test now passes cleanly for the first time on my PreSonus FireStudio.
Added tests for clip and dither flag combinations to loopback.
2011-09-01 22:08:32 +00:00
rossb
4939e41248
Fixed directsound PaDeviceInfo default latency and PaStreamInfo latency fields. Fixed host buffer size calculations based on suggestedLatency parameters. Switched to using 48kHz as default sample rate when other info isn't available. Fixed edge case in TimeSlice() where a full duplex stream could read data even though either input or output reported zero bytes available. Renamed some variables for clarity. Fixes ticket #160 (PaStreamInfo latency). Addresses #122 (although we're still using old default latency values from V18 codebase). Addresses #99 (correct interpretation of suggestedLatency down to zero).
2011-08-25 15:59:32 +00:00
rossb
16f40db4c8
wmme limit host buffer size to 32k. try to make host buffer size a factor of over-limit user buffer size. closes #189
2011-08-25 07:15:31 +00:00
philburk
fa8a45c845
Fix removal of device property change listeners.
...
This may fix some occasional memory corruption isses we were seeing in the loopback test.
I think the listeners may have gotten called after the stream was freed.
2011-08-18 08:44:03 +00:00
rossb
8f6b491bae
revised WMME default latency on XP, Vista, Win7 to 90ms. Resolves ticket #80 . Could go lower if we had more results from ticket #185
2011-08-18 05:58:56 +00:00
rossb
903263d777
Fixed pa_win_wmme.c latency calculations to result in non-decreasing actual latency for increasing suggested latency.
2011-08-11 12:16:47 +00:00
philburk
948250370c
Calculate timestamp offsets from device properties.
...
Combine multiple user buffers in a host buffer to honor longer latency.
2011-07-29 18:22:04 +00:00
rossb
e07e139e0d
pa_win_wmme.c fixed bug in stream info inputLatency see ticket #178 . improved interpretation of suggestedLatency based on recent discussions. see tickets #98 #99 #181
2011-07-28 12:03:09 +00:00
rossb
3ed32c7a04
paqa_latency: tweak parameter printing
2011-07-28 05:45:57 +00:00
philburk
6fa03e953c
Fix broken build due to unused variables. Grrr.
2011-07-21 18:47:18 +00:00
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
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
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
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
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
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
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
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
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
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
dmitrykos
f1e8193ae1
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
2010-11-07 08:23:51 +00:00