Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Use a span instead of a count+pointer | Chris Robinson | 2023-01-11 | 1 | -1/+1 |
| | |||||
* | Rename some struct members | Chris Robinson | 2023-01-10 | 2 | -5/+5 |
| | | | | And make a related function a member function | ||||
* | Don't rely on mRateMatch while waiting for PipeWire timing info | Chris Robinson | 2023-01-09 | 1 | -5/+2 |
| | |||||
* | Handle the stereo-encoding option for loopback devices too | Chris Robinson | 2023-01-09 | 1 | -12/+12 |
| | |||||
* | Fix handling the ALC_HRTF_SOFT attribute | Chris Robinson | 2023-01-09 | 1 | -1/+20 |
| | |||||
* | Add an option to mix on PipeWire's non-RT thread | Chris Robinson | 2023-01-08 | 1 | -14/+14 |
| | |||||
* | Better handle negative sample rate values | Chris Robinson | 2023-01-08 | 1 | -5/+5 |
| | |||||
* | Update some config comments | Chris Robinson | 2023-01-08 | 1 | -1/+1 |
| | |||||
* | Get device config options earlier in a device update | Chris Robinson | 2023-01-07 | 1 | -310/+275 |
| | |||||
* | Avoid using a reversed all-pass for the front stablizer | Chris Robinson | 2023-01-06 | 2 | -7/+2 |
| | | | | | | While a neat trick, it's been shown to be too volatile and add noise as the signal gets louder. It's better to just accept the phase shift and ensure everything stays aligned. | ||||
* | Rename some lambda parameters to avoid shadowing warnings | Chris Robinson | 2023-01-05 | 5 | -15/+15 |
| | |||||
* | Add and use mixers that process one input and output channel | Chris Robinson | 2023-01-05 | 4 | -8/+8 |
| | |||||
* | Simplify handling effect output for spatial effects | Chris Robinson | 2023-01-04 | 5 | -83/+140 |
| | | | | | | | | | | | | Effects are given a 3D ambisonic buffer of the same order as the device, for processing surround sound. Effects that pass input channels to matching output channels as it processes them don't need to mix each input channel to all output channels. At most, an input channel may mix to a different output channel, if the target buffer uses a different channel layout, and need a gain adjustment, if it uses a different scaling. With a 2D output buffer, a number of channels can be skipped altogether. | ||||
* | Handle UHJ better with convolution reverb | Chris Robinson | 2023-01-01 | 1 | -44/+66 |
| | | | | | | It's now decoded to B-Format while being FFT'd, and processed as B-Format. Again, not that UHJ should really ever be used for convolution, but it's a valid format someone may want to use despite the overhead from converting it. | ||||
* | Avoid some explicit casts and references | Chris Robinson | 2023-01-01 | 3 | -15/+16 |
| | |||||
* | Use a simple spinlock to protect the current global context | Chris Robinson | 2022-12-30 | 3 | -7/+26 |
| | | | | | This will be much for efficient than a recursive mutex, given the amount of contention will be very low. | ||||
* | Avoid using a macro to set a context error and return | Chris Robinson | 2022-12-24 | 1 | -6/+0 |
| | |||||
* | Avoid duplicate code to update the reverb delay lines | Chris Robinson | 2022-12-22 | 1 | -14/+7 |
| | |||||
* | Include the reverb delay times in the fade sample count | Chris Robinson | 2022-12-20 | 1 | -24/+15 |
| | |||||
* | Make sure to update the input filters with partial updates | Chris Robinson | 2022-12-20 | 1 | -1/+11 |
| | |||||
* | Clean up some reverb mixing loops | Chris Robinson | 2022-12-19 | 1 | -21/+18 |
| | |||||
* | Turn a static member function into a lambda where it's used | Chris Robinson | 2022-12-19 | 1 | -31/+29 |
| | | | | And clean up some parameters | ||||
* | Remove a redundant comment | Chris Robinson | 2022-12-18 | 1 | -4/+1 |
| | |||||
* | Use a size_t for the reverb decay fade count | Chris Robinson | 2022-12-18 | 1 | -2/+2 |
| | |||||
* | Clear the old reverb pipeline buffer when it's done | Chris Robinson | 2022-12-17 | 1 | -9/+46 |
| | |||||
* | Rework reverb fading to toggle between pipelines | Chris Robinson | 2022-12-17 | 1 | -475/+360 |
| | | | | | | | | | | | | When non-simple properties are changed, the active reverb pipeline is switched and the new parameters set on that one. The main process function will then be set to fade out input on the old pipeline, fade in input on the new pipeline, then process and mix both pipelines. After some number of samples (calculated from its decay time), the old pipeline will stop processing. This should improve the transition from a highly reverberant environment by not harshly interpolating to the new environment, as well as better handle changes to the all-pass and T60 filters. | ||||
* | Use a bitset for the enabled event flags | Chris Robinson | 2022-12-16 | 1 | -4/+3 |
| | |||||
* | Avoid inlining certain exception functions | Chris Robinson | 2022-12-16 | 2 | -7/+17 |
| | |||||
* | Avoid extraneous temporaries when filling vectors | Chris Robinson | 2022-12-15 | 2 | -8/+18 |
| | |||||
* | Avoid manually specifying FFT template parameters | Chris Robinson | 2022-12-14 | 2 | -5/+5 |
| | |||||
* | Implement an al::unreachable wrapper/helper | Chris Robinson | 2022-12-13 | 1 | -1/+1 |
| | |||||
* | Rename a potentially confusing member function | Chris Robinson | 2022-12-08 | 1 | -2/+2 |
| | |||||
* | Avoid setting PipeWire stream properties with separate calls | Chris Robinson | 2022-12-06 | 1 | -12/+11 |
| | |||||
* | Avoid using a macro to wrap standard attributes | Chris Robinson | 2022-12-06 | 7 | -36/+36 |
| | |||||
* | Avoid LIKELY/UNLIKELY macros | Chris Robinson | 2022-12-05 | 5 | -23/+23 |
| | |||||
* | Avoid some uses of the LIKELY/UNLIKELY macros | Chris Robinson | 2022-12-05 | 1 | -1/+1 |
| | |||||
* | Use standard likely/unlikely attributes when available | Chris Robinson | 2022-12-05 | 3 | -12/+12 |
| | |||||
* | Use the correct variable for reading the WASAPI playback rate | Chris Robinson | 2022-12-05 | 1 | -2/+2 |
| | |||||
* | Fix building with PipeWire 0.3.49 and earlier | Chris Robinson | 2022-12-02 | 1 | -0/+19 |
| | |||||
* | Add missing device_clock/source_latency enums for querying | Chris Robinson | 2022-11-29 | 1 | -0/+9 |
| | |||||
* | Use complex floats for convolution reverb FFTs | Chris Robinson | 2022-11-24 | 2 | -24/+23 |
| | |||||
* | Don't prematurely change ALCdevice::BufferSize | Chris Robinson | 2022-11-22 | 1 | -7/+11 |
| | |||||
* | Fix WASAPI capture handling the background COM thread | Chris Robinson | 2022-11-19 | 1 | -18/+30 |
| | |||||
* | Avoid a use-after-free in the ALSA backend | Chris Robinson | 2022-11-16 | 1 | -12/+12 |
| | |||||
* | Use the correct frame size for WASAPI resampling | Chris Robinson | 2022-11-13 | 1 | -2/+2 |
| | |||||
* | Change a function to a static method | Chris Robinson | 2022-11-13 | 2 | -4/+5 |
| | |||||
* | Add a config option to prevent WASAPI from using a resampler | Chris Robinson | 2022-11-12 | 1 | -1/+5 |
| | |||||
* | Add a resampler to WASAPI output | Chris Robinson | 2022-11-12 | 1 | -10/+75 |
| | | | | | | | This allows mixing at various samples rates that WASAPI doesn't otherwise support. This is mostly helpful for users that have unnecessarily high device rates (96 or 192khz), and lets the ALC_FREQUENCY attribute or frequency config option set a lower mixing rate for more efficient processing. | ||||
* | Dynamically start/stop the WASAPI message thread | Chris Robinson | 2022-11-12 | 1 | -86/+117 |
| | |||||
* | Try to detect the update and buffer size from PipeWire | Chris Robinson | 2022-11-08 | 1 | -4/+45 |
| |