Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Limit device buffer based on PulseAudio's tlength | Chris Robinson | 2017-06-15 | 1 | -10/+9 |
| | | | | | | Unfortunately PulseAudio has a habit of limiting tlength, and trying to calculate the device's buffer length to write regardless of tlength could result in some amount always being writable. | ||||
* | Add an env var to specify a default pulse device | Chris Robinson | 2017-05-16 | 1 | -0/+7 |
| | | | | | Some apps don't allow selecting an audio device, and due to problems with KDE, PulseAudio isn't allowed to move the stream after being created by default. | ||||
* | Store the ambisonic order separate from the channel enum | Chris Robinson | 2017-04-12 | 1 | -7/+41 |
| | |||||
* | Clean up some formatting | Chris Robinson | 2017-04-08 | 1 | -5/+5 |
| | |||||
* | Try to write the full configured buffer length with PulseAudio | Chris Robinson | 2017-04-08 | 1 | -15/+37 |
| | | | | | This basically ignores tlength even if it's smaller than what was requested. It keeps up-to-date with minreq changes too now, in case that happens. | ||||
* | Rename al_string_* functions to alstr_* | Chris Robinson | 2017-04-04 | 1 | -40/+40 |
| | |||||
* | Print warnings about missing libraries and functions | Chris Robinson | 2017-02-21 | 1 | -0/+8 |
| | |||||
* | Hold Pulse's mainloop lock while calling capture functions | Chris Robinson | 2017-01-10 | 1 | -2/+10 |
| | | | | | | | Since commit c837484015e, the backend's lock is no longer implicitly held when calling capture functions. A separate mutex is used to ensure serial access, and its up to the backend to protect against races and reentrancy with the audio API. | ||||
* | Remove DevFmtBFormat3D, which is covered by DevFmtAmbi1 | Chris Robinson | 2016-07-31 | 1 | -1/+0 |
| | |||||
* | Add a config to output first-, second-, or third-order ambisonics | Chris Robinson | 2016-07-29 | 1 | -0/+3 |
| | | | | | | | | | Currently incomplete, as second- and third-order output will not correctly handle B-Format input buffers. A standalone up-sampler will be needed, similar to the high-quality decoder. Also, output is ACN ordering with SN3D normalization. A config option will eventually be provided to change this if desired. | ||||
* | Combine VECTOR_RESIZE and VECTOR_RESERVE | Chris Robinson | 2016-07-26 | 1 | -1/+1 |
| | |||||
* | Change the backend getLatency method to return the clock time too | Chris Robinson | 2016-05-28 | 1 | -13/+25 |
| | | | | | | This will also allow backends to better synchronize the tracked clock time with the device output latency, without necessarily needing to lock if the backend API can allow for it. | ||||
* | Shorten VECTOR_ITER_ macros to VECTOR_ | Chris Robinson | 2016-04-15 | 1 | -6/+6 |
| | |||||
* | Add a hack to workaround erroneous prebuf values from pulse | Chris Robinson | 2016-03-31 | 1 | -5/+28 |
| | |||||
* | Add options to disable Pulse's and ALSA's resamplers | Chris Robinson | 2015-11-07 | 1 | -1/+2 |
| | |||||
* | 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. | ||||
* | Allow for device-specific config values | Chris Robinson | 2015-08-28 | 1 | -4/+4 |
| | |||||
* | Fix handling of PulseAudio devices that have the same description | Chris Robinson | 2015-08-14 | 1 | -10/+44 |
| | |||||
* | Add a macro to simplify allocating and constructing an object | Chris Robinson | 2015-05-18 | 1 | -12/+2 |
| | |||||
* | Ensure PulseAudio's mixing loop is signaled when stopping | Chris Robinson | 2015-01-21 | 1 | -0/+8 |
| | |||||
* | Set a couple pulse callbacks to NULL during reset, and minor cleanups | Chris Robinson | 2014-12-17 | 1 | -9/+9 |
| | |||||
* | Don't kill pulseaudio's mixer thread if it's already killed | Chris Robinson | 2014-12-17 | 1 | -1/+1 |
| | |||||
* | Support B-Format output with the wave file writer | Chris Robinson | 2014-11-25 | 1 | -0/+3 |
| | |||||
* | Require at least pulse client 0.9.16 | Chris Robinson | 2014-11-24 | 1 | -48/+8 |
| | |||||
* | Trace PulseAudio's active port | Chris Robinson | 2014-11-24 | 1 | -2/+5 |
| | |||||
* | Set headphones when pulse reports using the headphones port | Chris Robinson | 2014-11-23 | 1 | -0/+3 |
| | |||||
* | Don't force UpdateSize to a multiple of 4 after buffer metrics were set | Chris Robinson | 2014-11-17 | 1 | -2/+0 |
| | |||||
* | Always get the pulseaudio sink info on device reset | Chris Robinson | 2014-11-17 | 1 | -16/+14 |
| | |||||
* | Fix 5.1 surround sound | Chris Robinson | 2014-11-07 | 1 | -6/+6 |
| | | | | | | | | | | | | | Apparently, 5.1 surround sound is supposed to use the "side" channels, not the back channels, and we've been wrong this whole time. That means the "5.1 Side" is actually the correct 5.1 setup, and using the back channels is anomalous. Additionally, this means the 5.1 buffer format should also use the the side channels instead of the back channels. A final note: the 5.1 mixing coefficients are changed so both use the original 5.1 surround sound set (with the surround channels at +/-110 degrees). So the only difference now between 5.1 "side" and 5.1 "back" is the channel labels. | ||||
* | Update COPYING to the latest ↵ | François Cami | 2014-08-18 | 1 | -2/+2 |
| | | | | https://www.gnu.org/licenses/old-licenses/lgpl-2.0.txt to fix the FSF' address Fix the FSF' address in the source | ||||
* | Use VECTOR_FIND_IF and VECTOR_FOR_EACH instead of manual loops | Chris Robinson | 2014-08-09 | 1 | -49/+27 |
| | |||||
* | Use pulseaudio's write callback to signal a mixer proc wakeup | Chris Robinson | 2014-07-26 | 1 | -3/+11 |
| | |||||
* | Don't require pre-declaring vector types | Chris Robinson | 2014-07-06 | 1 | -1/+1 |
| | |||||
* | Don't print an ERR if pulse fails to get latency info due to no data | Chris Robinson | 2014-05-26 | 1 | -3/+8 |
| | | | | It just means it was called too quickly after starting. | ||||
* | Initialize a pointer to NULL instead of a string | Chris Robinson | 2014-05-15 | 1 | -2/+1 |
| | |||||
* | Add a helper VECTOR_FOR_EACH macro | Chris Robinson | 2014-04-30 | 1 | -10/+7 |
| | |||||
* | Use a helper function to clear PulseAudio device lists | Chris Robinson | 2014-04-24 | 1 | -36/+20 |
| | |||||
* | Avoid forward-declaring backend vtables | Chris Robinson | 2014-04-23 | 1 | -28/+35 |
| | |||||
* | Trace the device name being opened in ALSA and PulseAudio | Chris Robinson | 2014-04-21 | 1 | -0/+2 |
| | |||||
* | Use a vector for the PulseAudio DevMaps | Chris Robinson | 2014-04-20 | 1 | -76/+82 |
| | |||||
* | Use an al_string in the PulseAudio backend instead of char* | Chris Robinson | 2014-04-20 | 1 | -44/+63 |
| | |||||
* | Rename SetThreadName to althrd_setname | Chris Robinson | 2014-04-17 | 1 | -1/+1 |
| | |||||
* | Avoid using a Sleep() wrapper | Chris Robinson | 2014-04-16 | 1 | -1/+1 |
| | |||||
* | Implement a C11-like thread wrapper and use it in mmdevapi and pulseaudio | Chris Robinson | 2014-04-16 | 1 | -10/+7 |
| | |||||
* | Use an al_string for the device name | Chris Robinson | 2014-03-28 | 1 | -4/+2 |
| | |||||
* | Use a void* for the backend Delete method param | Chris Robinson | 2014-03-22 | 1 | -14/+6 |
| | |||||
* | Move PATH_MAX fallback definitions to alMain.h | Chris Robinson | 2014-02-27 | 1 | -3/+0 |
| | |||||
* | Make backend factory methods static as needed | Chris Robinson | 2013-11-02 | 1 | -10/+10 |
| | |||||
* | Move a macro definition up nearer to where it's used | Chris Robinson | 2013-10-29 | 1 | -4/+4 |
| |