Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Replace multiple fputc calls with one fwrite | Chris Robinson | 2016-01-23 | 1 | -6/+4 |
| | |||||
* | Fix for systems that don't have strnlen | Chris Robinson | 2016-01-21 | 1 | -4/+14 |
| | |||||
* | Improve the OSS enumeration code | Chris Robinson | 2016-01-21 | 1 | -63/+71 |
| | |||||
* | Added a check for an empty path | Keegan Drake H.P | 2015-12-17 | 1 | -2/+2 |
| | |||||
* | Add device enumeration support for OSSv4 | Keegan Drake H.P | 2015-12-17 | 1 | -27/+206 |
| | |||||
* | Add includes to work around broken GNU headers and POSIX-2001 | Chris Robinson | 2015-12-11 | 2 | -0/+2 |
| | |||||
* | Reformat Windows device name dressing | Chris Robinson | 2015-12-04 | 3 | -29/+27 |
| | |||||
* | Better handle inexact ALSA period counts | Chris Robinson | 2015-11-23 | 1 | -1/+4 |
| | |||||
* | Fix the allow-resampler check for ALSA | Chris Robinson | 2015-11-23 | 1 | -1/+1 |
| | |||||
* | Replace deprecated Carbon API calls with modern AudioComponent APIs in the ↵ | Alex Szpakowski | 2015-11-13 | 1 | -18/+24 |
| | | | | | | | | CoreAudio backend. This prevents a deprecation notice from being output to stdout when alcOpenDevice is called in Mac OS X 10.11. The new API calls require Mac OS X 10.6 or newer. | ||||
* | Add options to disable Pulse's and ALSA's resamplers | Chris Robinson | 2015-11-07 | 2 | -3/+7 |
| | |||||
* | Add another cast for MSVC | Chris Robinson | 2015-11-06 | 1 | -1/+1 |
| | |||||
* | Convert the PortAudio backend to the new backend API | Chris Robinson | 2015-10-22 | 2 | -152/+258 |
| | |||||
* | Add a function to get a list of data files | Chris Robinson | 2015-10-03 | 1 | -1/+0 |
| | | | | | | The method takes a marked-up filename (e.g. may include %r for a sample rate, %% for %, etc), and returns a vector of strings of found filenames that match. It will search the CWD, the local, and global data directories, in that order. | ||||
* | Use the macros to allocate the wrapper backends | Chris Robinson | 2015-09-24 | 1 | -6/+2 |
| | |||||
* | Disable mmdevapi capture and update changelog | Chris Robinson | 2015-09-18 | 1 | -1/+6 |
| | | | | | | | Unfortunately mmdevapi does not do channel remixing or resampling, even for capture, so the device can only be opened in the mode it's configured for. For now, fallback to dsound or winmm to get the conversion until we can do it ourselves. | ||||
* | Append "on OpenAL Soft" to mmdevapi, dsound, and winmm device names | Chris Robinson | 2015-09-10 | 3 | -32/+46 |
| | | | | | Would be nicer to have a more backend-agnostic method of doing this, Perhaps even also only when the router is being used. | ||||
* | Specify the pa_channel_map directly instead of through a string | Chris Robinson | 2015-09-04 | 1 | -30/+43 |
| | |||||
* | Use the correct device name for PulseAudio too | Chris Robinson | 2015-09-03 | 1 | -10/+24 |
| | | | | | Like mmdevapi. duplicate device names will have a '#2' or such appended, so the device's reported name may be incorrect. | ||||
* | Replace another vector loop with VECTOR_FIND_IF | Chris Robinson | 2015-09-03 | 1 | -14/+11 |
| | |||||
* | Use the correct device name when opening a device by name | Chris Robinson | 2015-09-03 | 1 | -2/+8 |
| | | | | | Duplicate device names will have a '#2' or such appended, so the device's reported name may be incorrect. | ||||
* | Allow for device-specific config values | Chris Robinson | 2015-08-28 | 7 | -22/+22 |
| | |||||
* | Set the WAVEFORMATEX cbSize field for mmdevapi capture | Chris Robinson | 2015-08-18 | 1 | -0/+1 |
| | |||||
* | Fix handling of PulseAudio devices that have the same description | Chris Robinson | 2015-08-14 | 1 | -10/+44 |
| | |||||
* | Wait for the OpenSL buffer queue to empty when stopping | Chris Robinson | 2015-08-13 | 1 | -1/+10 |
| | |||||
* | Check for duplicate device names in the mmdevapi backend | Chris Robinson | 2015-06-30 | 1 | -1/+27 |
| | |||||
* | Use the lockless ringbuffer for mmdevapi capture | Chris Robinson | 2015-06-30 | 1 | -8/+9 |
| | | | | | The backend's capture funcs are already called while under a lock, so multiple threads shouldn't be able to read from it at once. | ||||
* | Double check the mmdevapi capture format | Chris Robinson | 2015-06-07 | 1 | -1/+23 |
| | | | | | This isn't a real solution, but it should get IAudioClient_IsFormatSupported to stop failing. | ||||
* | Add a macro to simplify allocating and constructing an object | Chris Robinson | 2015-05-18 | 11 | -117/+17 |
| | |||||
* | Convert the solaris backend to the new API | Chris Robinson | 2015-05-17 | 2 | -77/+134 |
| | |||||
* | Add a note to the JACK backend about a (minor) race condition | Chris Robinson | 2015-02-07 | 1 | -0/+14 |
| | |||||
* | Clean up another vector iterator loop | Chris Robinson | 2015-02-07 | 1 | -12/+12 |
| | |||||
* | Signal the mixer thread outside of the mutex lock | Chris Robinson | 2015-02-03 | 1 | -1/+5 |
| | |||||
* | Don't try to spawn a JACK server by default | Chris Robinson | 2015-02-03 | 1 | -6/+6 |
| | | | | And don't print an error if one couldn't be started when not requested. | ||||
* | Always use the JACK server buffer size as the update size | Chris Robinson | 2015-02-03 | 1 | -12/+15 |
| | | | | | The buffer-size config option now only specifies an additional mix ahead to keep ready for audio requests, rather than a pretend period size. | ||||
* | Ensure PulseAudio's mixing loop is signaled when stopping | Chris Robinson | 2015-01-21 | 1 | -0/+8 |
| | |||||
* | Remove a couple unused variables | Chris Robinson | 2015-01-20 | 1 | -3/+0 |
| | |||||
* | Fix X7DOT1_NARROW name to X7DOT1_WIDE | Chris Robinson | 2015-01-15 | 1 | -3/+3 |
| | |||||
* | Accept a "narrow" layout for 7.1 with mmdevapi | Chris Robinson | 2015-01-15 | 1 | -2/+3 |
| | |||||
* | Fix the flags type | Chris Robinson | 2015-01-11 | 1 | -1/+2 |
| | |||||
* | Update a comment | Chris Robinson | 2014-12-24 | 1 | -2/+2 |
| | |||||
* | Don't update the channel format if all JACK ports were allocated | Chris Robinson | 2014-12-23 | 1 | -9/+11 |
| | |||||
* | Try the device-specified channel configuration first | Chris Robinson | 2014-12-23 | 1 | -3/+15 |
| | | | | | This does basically no checking that the channel config is correct, but should be good enough for when non-stereo modes are requested. | ||||
* | Use the custom ringbuffer instead of JACK's | Chris Robinson | 2014-12-23 | 1 | -41/+20 |
| | |||||
* | Don't set unused pointers to NULL, don't try to write 0 samples | Chris Robinson | 2014-12-23 | 1 | -7/+8 |
| | |||||
* | At least measure the ringbuffer size for JACK's latency | Chris Robinson | 2014-12-23 | 1 | -1/+17 |
| | | | | | | We should also add the port latency, but there's currently no way to ensure it's synchronized with the ringbuffer (the ringbuffer will update before the port latency gets updated). | ||||
* | Add an option to prevent spawning a JACK server | Chris Robinson | 2014-12-22 | 1 | -2/+6 |
| | |||||
* | Add an option for an increased ringbuffer size with JACK | Chris Robinson | 2014-12-22 | 1 | -2/+10 |
| | |||||
* | Fill out the JACK playback backend | Chris Robinson | 2014-12-22 | 1 | -15/+326 |
| | | | | | | | | | | | | | | | | | | | | | | | | A few notes about it: The OpenAL device's requested buffer metrics are ignored, and instead the device will keep one JACK-sized buffer's worth of audio prepared for JACK's next process request. Output is restricted to 32-bit float stereo. Part of this is because JACK requires a buffer size that's a power of 2 (measured in samples), and the ringbuffer requires a buffer size that's a power of 2 (measured in bytes). A channel count of 6 (5.1) or 7 (6.1) will not work without causing a sample to split over the edge of the ringbuffer. Additioanlly, JACK doesn't provide information about what channel configuration a device or set of ports has, so there's no way to know what ports 3 and up map to (even the first two ports are unknown, but assuming stereo seems to work well enough). There is no device latency measurement (for AL_SOFT_source_latency) due to the non-atomicity between the ringbuffer's read size and port latency. A method is needed to ensure the ringbuffer's read size and port latency can both be measured between the end of a JACK update cycle (when the port latency has been updated with the newly-retrieved audio) and the following ringbuffer read update. | ||||
* | Add a skeleton backend for JACK | Chris Robinson | 2014-12-21 | 2 | -0/+262 |
| |