Commit graph

310 commits

Author SHA1 Message Date
rob_bielik
59f8c8975c Ticket #132 2011-02-17 15:56:04 +00:00
rossb
bc81ee0ed2 doc tweak 2011-02-12 13:33:18 +00:00
dmitrykos
e1ba3369da fixed compilation when Makefile is used by adding missing pa_ringbuffer.o object file 2011-02-12 12:45:27 +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
rossb
7060043727 added #include portaudio.h to pa_mac_core.h so it is consistent with all other host-api specific headers. closes ticket #7 2011-02-04 10:41:58 +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
7d0edd2714 removed reference to todo list from main doxygen page 2011-02-02 19:31:27 +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
76c3e0f31c clarified documentation for PaTime and Pa_GetStreamTime 2011-02-02 17:29:26 +00:00
rossb
edf4166f07 removed old doxygen @todo comments 2011-02-01 13:11:22 +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
rossb
e9bf04f563 simplify doc tweak 2011-02-01 11:17:36 +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
philburk
de42615b5a test svn access 2010-12-28 23:03:56 +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
rossb
5b6dcbe59b doc tweaks 2010-12-11 03:11:35 +00:00
philburk
3d61d394b8 First checkin of new loopback unit test for PortAudio. 2010-11-12 19:14:25 +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
rossb
af11234ead updated documentation main page and added api overview page to documentation 2010-11-07 23:57:36 +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
dmitrykos
7b3d837bbb 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 2010-11-06 01:16:34 +00:00
richard_ash
eba3864887 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)
2010-10-29 20:09:54 +00:00
rossb
0fec134103 clarified some doc comments in pa_ringbuffer.h including one typo that said <write> instead or <read> 2010-10-24 10:21:35 +00:00
rossb
eca7d0493c 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. 2010-10-22 02:30:38 +00:00
rossb
3128c79528 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) 2010-10-22 02:23:33 +00:00
dmitrykos
e5b04a89da wasapi: fixed capturing (Input stream) if Polling mode is used, ProcessInputBuffer was broken erroneously returning AUDCLNT_S_BUFFER_EMPTY and thus breaking Input thread. 2010-10-20 17:32:04 +00:00
dmitrykos
738b8ad327 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. 2010-10-20 17:00:54 +00:00
bjornroche
d496a7bc75 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. 2010-10-16 18:48:29 +00:00
dmitrykos
96b86da500 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. 2010-10-15 20:39:23 +00:00
rossb
e47e43deb8 improved documentation of paNoInterleaved flag 2010-10-14 03:34:34 +00:00
dmitrykos
abe05d6d7f 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. 2010-09-22 06:33:47 +00:00
dmitrykos
b6e9030f6f 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 2010-09-20 16:23:30 +00:00