PortAudio portable cross-platform audio I/O library (fork)
  • C 51.1%
  • Shell 33.2%
  • C++ 11.6%
  • Makefile 2.3%
  • Java 0.8%
  • Other 1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Dmitry Kostjuchenko 3913a95a9b
Merge pull request #324 from PortAudio/winrt
wasapi: Replace tabs with 4-spaces to comply with PortAudio code styl…
2020-10-09 00:59:40 +03:00
.github Update bug_report.md with more details 2020-10-01 10:38:48 +10:00
bindings Normalize all the line endings 2016-05-18 22:13:20 -07:00
build wasapi: new API PaWasapi_SetStreamStateHandler() to be able to catch WASAPI error inside the rendering thread loop (and handle it gracefully, for example restart the stream), protect from dangling pointer during device list update, cleanup header 2018-12-24 14:20:29 +02:00
cmake_support Treat DirectSound just like any other standard Windows SDK library. 2018-12-15 15:04:20 +00:00
doc docs: change Assembla links to GitHub 2020-10-08 10:18:37 +11:00
examples paex_read_write_wire: fix crossed initialization 2016-09-26 15:42:38 -07:00
include wasapi: Add paWinWasapiAutoConvert flag, which sets AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM | AUDCLNT_STREAMFLAGS_SRC_DEFAULT_QUALITY for Shared mode streams. 2019-04-05 10:02:17 +03:00
pablio Use pa_ringbuffer.h in pablio.h. 2012-07-09 15:53:00 +00:00
qa Loopback: fix warnings that prevent compilation 2016-07-26 19:10:23 -07:00
src Merge pull request #324 from PortAudio/winrt 2020-10-09 00:59:40 +03:00
test pa_mac_core: fix whitespace and missing semicolon 2016-09-24 08:53:28 -07:00
.gitattributes Add .gitattributes to fix EOL 2016-05-18 22:05:13 -07:00
.gitignore pa_mac_core: stop stream instead of asserting 2016-05-01 18:10:23 -07:00
aclocal.m4 Files needed for compiling on El Capitan. 2016-01-04 17:22:56 +00:00
clear_gitrevision.sh PA_GIT_REVISION: new scripts to replace SVN revision 2016-09-05 17:03:27 -07:00
CMakeLists.txt Fix CMake build after renaming readme 2020-09-27 00:02:53 +02:00
config.guess Files needed for compiling on El Capitan. 2016-01-04 17:22:56 +00:00
config.sub Files needed for compiling on El Capitan. 2016-01-04 17:22:56 +00:00
configure build: add new Mac SDKs to configure 2020-10-03 17:01:58 -07:00
configure.in build: add new Mac SDKs to configure 2020-10-03 17:01:58 -07:00
depcomp Files needed for compiling on El Capitan. 2016-01-04 17:22:56 +00:00
Doxyfile removed bindings/java from doxygen generated documentation 2015-09-06 10:26:16 +00:00
Doxyfile.developer Normalize all the line endings 2016-05-18 22:13:20 -07:00
fixdir.bat moved trunk into place 2008-03-20 14:24:39 +00:00
fixfile.bat moved trunk into place 2008-03-20 14:24:39 +00:00
index.html moved trunk into place 2008-03-20 14:24:39 +00:00
install-sh Files needed for compiling on El Capitan. 2016-01-04 17:22:56 +00:00
LICENSE.txt moved trunk into place 2008-03-20 14:24:39 +00:00
ltmain.sh Files needed for compiling on El Capitan. 2016-01-04 17:22:56 +00:00
Makefile.in fixed configure.in and makefile.in. attempt #2. fixes incorrect escapes in r1772 2011-11-11 04:06:17 +00:00
missing Files needed for compiling on El Capitan. 2016-01-04 17:22:56 +00:00
portaudio-2.0.pc.in moved trunk into place 2008-03-20 14:24:39 +00:00
README.configure.txt Add support for 10.11 SDK so PortAudio can compile on Mac. 2016-01-04 17:22:00 +00:00
README.md Fix a broken link (Tutorial Start) in README.md. 2020-10-03 07:52:54 -07:00
SConstruct moved trunk into place 2008-03-20 14:24:39 +00:00
update_gitrevision.sh PA_GIT_REVISION: new scripts to replace SVN revision 2016-09-05 17:03:27 -07:00

PortAudio - portable audio I/O library

PortAudio is a portable audio I/O library designed for cross-platform support of audio. It uses either a callback mechanism to request audio processing, or blocking read/write calls to buffer data between the native audio subsystem and the client. Audio can be processed in various formats, including 32 bit floating point, and will be converted to the native format internally.

Documentation:

  • Documentation is available at http://www.portaudio.com/docs/
  • Or at /doc/html/index.html after running Doxygen.
  • Also see src/common/portaudio.h for the API spec.
  • And see the examples/ and test/ directories for many examples of usage. (We suggest examples/paex_saw.c for an example.)

For information on compiling programs with PortAudio, please see the tutorial at:

http://portaudio.com/docs/v19-doxydocs/tutorial_start.html

We have an active mailing list for user and developer discussions. Please feel free to join. See http://www.portaudio.com for details.

Important Files and Folders:

include/portaudio.h     = header file for PortAudio API. Specifies API.	
src/common/             = platform independant code, host independant 
                          code for all implementations.
src/os                  = os specific (but host api neutral) code
src/hostapi             = implementations for different host apis

Host API Implementations:

src/hostapi/alsa        = Advanced Linux Sound Architecture (ALSA)
src/hostapi/asihpi      = AudioScience HPI
src/hostapi/asio        = ASIO for Windows and Macintosh
src/hostapi/coreaudio   = Macintosh Core Audio for OS X
src/hostapi/dsound      = Windows Direct Sound
src/hostapi/jack        = JACK Audio Connection Kit
src/hostapi/oss         = Unix Open Sound System (OSS)
src/hostapi/wasapi      = Windows Vista WASAPI
src/hostapi/wdmks       = Windows WDM Kernel Streaming
src/hostapi/wmme        = Windows MultiMedia Extensions (MME)

Test Programs:

test/pa_fuzz.c         = guitar fuzz box
test/pa_devs.c         = print a list of available devices
test/pa_minlat.c       = determine minimum latency for your machine
test/paqa_devs.c       = self test that opens all devices
test/paqa_errs.c       = test error detection and reporting
test/patest_clip.c     = hear a sine wave clipped and unclipped
test/patest_dither.c   = hear effects of dithering (extremely subtle)
test/patest_pink.c     = fun with pink noise
test/patest_record.c   = record and playback some audio
test/patest_maxsines.c = how many sine waves can we play? Tests Pa_GetCPULoad().
test/patest_sine.c     = output a sine wave in a simple PA app
test/patest_sync.c     = test syncronization of audio and video
test/patest_wire.c     = pass input to output, wire simulator