Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 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 |
| | |||||
* | Trace lparam and wparam message values | Chris Robinson | 2014-12-21 | 1 | -1/+1 |
| | |||||
* | Check the PROPVARIANT type before use | Chris Robinson | 2014-12-21 | 1 | -2/+8 |
| | |||||
* | Use VECTOR_FOR_EACH instead of a manual loop | Chris Robinson | 2014-12-21 | 1 | -9/+7 |
| | |||||
* | Use a macro for the record thread name | Chris Robinson | 2014-12-21 | 3 | -3/+3 |
| | |||||
* | Support capture with mmdevapi | Chris Robinson | 2014-12-19 | 1 | -1/+551 |
| | |||||
* | 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 |
| | |||||
* | Check mmdevice endpoint for being headphones | Chris Robinson | 2014-11-27 | 1 | -1/+31 |
| | |||||
* | Avoid unnecessary uses of ALCdevice_Lock and ALCdevice_Unlock | Chris Robinson | 2014-11-27 | 1 | -8/+8 |
| | |||||
* | Set headphones when dsound reports headphones | Chris Robinson | 2014-11-27 | 1 | -1/+3 |
| | |||||
* | Support B-Format output with the wave file writer | Chris Robinson | 2014-11-25 | 7 | -1/+33 |
| | |||||
* | 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 |
| |