PortAudio  2.0
File List
Here is a list of all files with brief descriptions:
o*audio_analyzer.c
o*audio_analyzer.h
o*biquad_filter.c
o*biquad_filter.h
o*iasiothiscallresolver.cpp
o*iasiothiscallresolver.h
o*pa_allocation.cAllocation Group implementation
o*pa_allocation.hAllocation Group prototypes. An Allocation Group makes it easy to allocate multiple blocks of memory and free them all at once
o*pa_asio.cpp
o*pa_asio.hASIO-specific PortAudio API extension header file
o*pa_converters.cConversion function implementations
o*pa_converters.hConversion functions used to convert buffers of samples from one format to another
o*pa_cpuload.cFunctions to assist in measuring the CPU utilization of a callback stream. Used to implement the Pa_GetStreamCpuLoad() function
o*pa_cpuload.hFunctions to assist in measuring the CPU utilization of a callback stream. Used to implement the Pa_GetStreamCpuLoad() function
o*pa_debugprint.cImplements log function
o*pa_debugprint.h
o*pa_devs.cList available devices, including device information
o*pa_dither.cFunctions for generating dither noise
o*pa_dither.hFunctions for generating dither noise
o*pa_endianness.hConfigure endianness symbols for the target processor
o*pa_front.cImplements PortAudio API functions defined in portaudio.h, checks some errors, delegates platform-specific behavior to host API implementations
o*pa_fuzz.cDistort input like a fuzz box
o*pa_gitrevision.h
o*pa_hostapi.hInterfaces and representation structures used by pa_front.c to manage and communicate with host API implementations
o*pa_hostapi_skeleton.cSkeleton implementation of support for a host API
o*pa_jack.c
o*pa_jack.hJACK-specific PortAudio API extension header file
o*pa_linux_alsa.c
o*pa_linux_alsa.hALSA-specific PortAudio API extension header file
o*pa_linux_asihpi.cHost API implementation supporting AudioScience cards via the Linux HPI interface
o*pa_linux_pulseaudio.cPulseAudio implementation of support for a host API
o*pa_linux_pulseaudio.hPulseAudio-specific PortAudio API extension header file
o*pa_linux_pulseaudio_block.cPulseAudio implementation of support for a host API
o*pa_linux_pulseaudio_block_internal.h
o*pa_linux_pulseaudio_cb.cPulseAudio implementation of support for a host API
o*pa_linux_pulseaudio_cb_internal.h
o*pa_linux_pulseaudio_internal.h
o*pa_mac_core.c
o*pa_mac_core.hCoreAudio-specific PortAudio API extension header file
o*pa_mac_core_blocking.c
o*pa_mac_core_blocking.h
o*pa_mac_core_internal.h
o*pa_mac_core_utilities.c
o*pa_mac_core_utilities.h
o*pa_memorybarrier.h
o*pa_minlat.cExperiment with different numbers of buffers to determine the minimum latency for a computer
o*pa_process.cBuffer Processor implementation
o*pa_process.hBuffer Processor prototypes. A Buffer Processor performs buffer length adaption, coordinates sample format conversion, and interleaves/deinterleaves channels
o*pa_pthread_util.c
o*pa_pthread_util.h
o*pa_ringbuffer.c
o*pa_ringbuffer.hSingle-reader single-writer lock-free ring buffer
o*pa_sndio.c
o*pa_stream.cStream interfaces, representation structures and helper functions used to interface between pa_front.c host API implementations
o*pa_stream.hStream interfaces, representation structures and helper functions used to interface between pa_front.c host API implementations
o*pa_trace.cReal-time safe event trace logging facility for debugging
o*pa_trace.hReal-time safe event trace logging facility for debugging
o*pa_types.hDefinition of 16 and 32 bit integer types (PaInt16, PaInt32 etc)
o*pa_unix_audioio.c
o*pa_unix_hostapis.c
o*pa_unix_oss.c
o*pa_unix_util.c
o*pa_unix_util.h
o*pa_util.hPrototypes for utility functions used by PortAudio implementations
o*pa_win_coinitialize.cMicrosoft COM initialization routines
o*pa_win_coinitialize.hMicrosoft COM initialization routines
o*pa_win_ds.c
o*pa_win_ds.hDirectSound-specific PortAudio API extension header file
o*pa_win_ds_dynlink.c
o*pa_win_ds_dynlink.h
o*pa_win_hostapis.cWin32 host API initialization function table
o*pa_win_util.cWin32 implementation of platform-specific PaUtil support functions
o*pa_win_util.h
o*pa_win_version.cPortable implementation of Windows OS version getter
o*pa_win_version.h
o*pa_win_wasapi.cWASAPI implementation of support for a host API
o*pa_win_wasapi.hWASAPI-specific PortAudio API extension header file
o*pa_win_waveformat.c
o*pa_win_waveformat.hWindows specific PortAudio API extension and utilities header file
o*pa_win_wdmks.cPortaudio WDM-KS host API
o*pa_win_wdmks.hWDM Kernel Streaming-specific PortAudio API extension header file
o*pa_win_wdmks_utils.c
o*pa_win_wdmks_utils.hUtilities for working with the Windows WDM KS API
o*pa_win_wmme.cWin32 host API implementation for the Windows MultiMedia Extensions (WMME) audio API
o*pa_win_wmme.hWMME-specific PortAudio API extension header file
o*pa_x86_plain_converters.c
o*pa_x86_plain_converters.h
o*paex_mono_asio_channel_select.cPlay a monophonic sine wave on a specific ASIO channel
o*paex_ocean_shore.cGenerate Pink Noise using Gardner method, and make "waves". Provides an example of how to post stuff to/from the audio callback using lock-free FIFOs implemented by the PA ringbuffer
o*paex_pink.cGenerate Pink Noise using Gardner method
o*paex_read_write_wire.cTests full duplex blocking I/O by passing input straight to output
o*paex_record.cRecord input into an array; Save array to a file; Playback recorded data
o*paex_record_file.cRecord input into a file, then playback recorded data from file (Windows only at the moment)
o*paex_saw.cPlay a simple (aliasing) sawtooth wave
o*paex_sine.cPlay a sine wave for several seconds
o*paex_sine_c++.cpp
o*paex_wmme_ac3.cUse WMME-specific interface to send raw AC3 data to a S/PDIF output
o*paex_wmme_surround.cUse WMME-specific channelMask to request 5.1 surround sound output
o*paex_write_sine.cPlay a sine wave for several seconds using the blocking API (Pa_WriteStream())
o*paex_write_sine_nonint.cPlay a non-interleaved sine wave using the blocking API (Pa_WriteStream())
o*paqa.c
o*paqa_devs.cSelf Testing Quality Assurance app for PortAudio Try to open devices and run through all possible configurations. By default, open only the default devices. Command line options support opening every device, or all input devices, or all output devices. This test does not verify that the configuration works well. It just verifies that it does not crash. It requires a human to listen to the sine wave outputs
o*paqa_errs.cSelf Testing Quality Assurance app for PortAudio Do lots of bad things to test error reporting
o*paqa_latency.cTest latency estimates
o*paqa_macros.h
o*paqa_tools.c
o*paqa_tools.h
o*patest1.cRing modulate the audio input with a sine wave for 20 seconds
o*patest_buffer.cTest opening streams with different buffer sizes
o*patest_callbackstop.cTest the paComplete callback result code
o*patest_clip.cPlay a sine wave for several seconds at an amplitude that would require clipping
o*patest_converters.cTests the converter functions in pa_converters.c
o*patest_dither.cAttempt to hear difference between dithered and non-dithered signal
o*patest_dsound_find_best_latency_params.c
o*patest_dsound_low_level_latency_params.c
o*patest_dsound_surround.c
o*patest_enumerate_default_latency.cList default latencies of available devices in table format
o*patest_hang.cPlay a sine then hang audio callback to test watchdog
o*patest_in_overflow.cCount input overflows (using paInputOverflow flag) under overloaded and normal conditions. This test uses the same method to overload the stream as does patest_out_underflow.c – it generates sine waves until the cpu load exceeds a certain level. However this test is only concerned with input and so doesn't output any sound
o*patest_jack_wasapi.c
o*patest_latency.cHear the latency caused by big buffers. Play a sine wave and change frequency based on letter input
o*patest_leftright.cPlay different tone sine waves that alternate between left and right channel
o*patest_longsine.cPlay a sine wave until ENTER hit
o*patest_many.cStart and stop the PortAudio Driver multiple times
o*patest_maxsines.cHow many sine waves can we calculate and play in less than 80% CPU Load
o*patest_mono.cPlay a monophonic sine wave using the Portable Audio api for several seconds
o*patest_multi_sine.cPlay a different sine wave on each channel
o*patest_out_underflow.cCount output underflows (using paOutputUnderflow flag) under overloaded and normal conditions
o*patest_prime.cTest stream priming mode
o*patest_read_record.cRecord input into an array; Save array to a file; Playback recorded data. Implemented using the blocking API (Pa_ReadStream(), Pa_WriteStream() )
o*patest_ringmix.cRing modulate inputs to left output, mix inputs to right output
o*patest_sine8.cTest 8 bit data: play a sine wave for several seconds
o*patest_sine_channelmaps.cPlays sine waves using sme simple channel maps. Designed for use with CoreAudio, but should made to work with other APIs
o*patest_sine_formats.cPlay a sine wave for several seconds. Test various data formats
o*patest_sine_srate.c
o*patest_sine_time.cPlay a sine wave for several seconds, pausing in the middle. Uses the Pa_GetStreamTime() call
o*patest_start_stop.cPlay a sine wave for several seconds. Start and stop the stream multiple times
o*patest_stop.cTest different ways of stopping audio
o*patest_stop_playout.cTest whether all queued samples are played when Pa_StopStream() is used with a callback or read/write stream, or when the callback returns paComplete
o*patest_suggested_vs_streaminfo_latency.cPrint suggested vs. PaStreamInfo reported actual latency
o*patest_sync.cTest time stamping and synchronization of audio and video
o*patest_timing.cPlay a sine wave for several seconds, and spits out a ton of timing info while it's at it. Based on patest_sine.c
o*patest_toomanysines.cPlay more sine waves than we can handle in real time as a stress test
o*patest_two_rates.cPlay two streams at different rates to make sure they don't interfere
o*patest_underflow.cSimulate an output buffer underflow condition. Tests whether the stream can be stopped when underflowing buffers
o*patest_unplug.cDebug a crash involving unplugging a USB device
o*patest_wasapi_ac3.cUse WASAPI-specific interface to send raw AC3 data to a S/PDIF output
o*patest_wasapi_eac3.cUse WASAPI-specific interface to send raw EAC3 data to a S/PDIF output
o*patest_wire.cPass input directly to output
o*patest_wmme_find_best_latency_params.c
o*patest_wmme_low_level_latency_params.c
o*patest_write_stop.cPlay a few seconds of silence followed by a few cycles of a sine wave. Tests to make sure that pa_StopStream() completes playback in blocking I/O
o*patest_write_stop_hang_illegal.c
o*portaudio.hThe portable PortAudio API
o*qa_tools.h
o*recplay.c
o*test_audio_analyzer.c
o*test_audio_analyzer.h
o*write_wav.c
\*write_wav.h