Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Convert the WinMM backend to C++ | Chris Robinson | 2018-11-08 | 1 | -23/+30 |
| | |||||
* | Hide function pointer wrapper macros for IDE parsing | Chris Robinson | 2018-11-07 | 4 | -0/+8 |
| | |||||
* | Use the proper enum values for atomic ops | Chris Robinson | 2018-11-06 | 1 | -3/+3 |
| | |||||
* | Convert the DSound backend to C++ | Chris Robinson | 2018-11-06 | 1 | -297/+269 |
| | |||||
* | Move wstr_to_utf8 to compat.h | Chris Robinson | 2018-11-03 | 1 | -16/+0 |
| | |||||
* | Expand the anonymous namespaces | Chris Robinson | 2018-11-02 | 2 | -31/+28 |
| | |||||
* | Add a wrapper to manage PROPVARIANT objects | Chris Robinson | 2018-11-02 | 1 | -26/+35 |
| | |||||
* | Check the correct propvariant object | Chris Robinson | 2018-11-02 | 1 | -4/+4 |
| | |||||
* | Try another fix to declare GUIDs in C++ | Chris Robinson | 2018-11-02 | 1 | -4/+10 |
| | |||||
* | Make the polymorphism macros less hacky in C++ | Chris Robinson | 2018-11-01 | 2 | -344/+319 |
| | | | | | | In particular, it relies on derived structs using C++-style inheritence. Any implementation's source that's converted to C++ will consequently need to make that change. | ||||
* | Workaround some issue with DEFINE_GUID in C++ | Chris Robinson | 2018-11-01 | 1 | -2/+4 |
| | |||||
* | Use more C++ types where possible | Chris Robinson | 2018-11-01 | 1 | -343/+290 |
| | |||||
* | Use an anonymous namespace instead of static for some things | Chris Robinson | 2018-11-01 | 1 | -3/+7 |
| | |||||
* | Preliminary conversion of the WASAPI backend to C++ | Chris Robinson | 2018-11-01 | 1 | -232/+222 |
| | | | | A very sparse conversion. Will clean up more later after seeing what MSVC does. | ||||
* | Use a wrapper function to simplify a check | Chris Robinson | 2018-11-01 | 1 | -8/+10 |
| | |||||
* | Use perfect forwarding to initialize DevMap entries | Chris Robinson | 2018-11-01 | 1 | -3/+4 |
| | |||||
* | Simplify a couple loops | Chris Robinson | 2018-11-01 | 1 | -40/+36 |
| | |||||
* | Use the appropriate enums for standard atomics | Chris Robinson | 2018-11-01 | 1 | -3/+3 |
| | |||||
* | Avoid uniform initialization with references | Chris Robinson | 2018-11-01 | 1 | -2/+2 |
| | | | | Also doesn't work with GCC 4.x | ||||
* | Remove unused header | Chris Robinson | 2018-11-01 | 1 | -1/+0 |
| | |||||
* | Include a missing header for atomic | Chris Robinson | 2018-11-01 | 1 | -0/+1 |
| | |||||
* | Fix another use of auto uniform initialization | Chris Robinson | 2018-11-01 | 1 | -1/+1 |
| | |||||
* | Avoid all uniform initialization with auto | Chris Robinson | 2018-11-01 | 1 | -66/+64 |
| | | | | | | Because of early C++11 (GCC 4.x) deficiencies, it's not interpreted correctly. Either declare the type name explicitly with uniform initization, or use auto with = initialization. It'll be fine when updating to GCC 5 or Clang 3.6. | ||||
* | Avoid uniform initialization on auto for integer types | Chris Robinson | 2018-10-31 | 1 | -17/+17 |
| | | | | To work around a deficiency with early C++11 compilers (GCC 4.x). | ||||
* | Convert the PulseAudio backend to C++ | Chris Robinson | 2018-10-31 | 1 | -597/+581 |
| | |||||
* | Replace restrict with RESTRICT | Chris Robinson | 2018-10-29 | 1 | -2/+2 |
| | |||||
* | Don't try to get the JNIEnv on Android | Chris Robinson | 2018-10-02 | 1 | -5/+7 |
| | | | | | It's currently not used. More stuff is needed anyway which may need a different approach. | ||||
* | Include the limiter's lookAhead delay in the device latency | Chris Robinson | 2018-09-25 | 2 | -0/+10 |
| | |||||
* | Properly queue buffers for OpenSL capture | Chris Robinson | 2018-09-17 | 1 | -32/+9 |
| | |||||
* | Fix some potential race conditions with OpenSL | Chris Robinson | 2018-09-17 | 1 | -42/+62 |
| | | | | | | | | | For playback, increment the ring buffer's write pointer before queueing audio, to handle cases where the callback is invoked, advancing the read pointer, before the write pointer is advanced. For capture, limit the number of re-queued chunks to the number of fully read chunks. | ||||
* | Some suggested changes for iOS | Chris Robinson | 2018-09-07 | 1 | -3/+11 |
| | |||||
* | Pass the device name list to the backend probe method | Chris Robinson | 2018-09-07 | 18 | -130/+105 |
| | |||||
* | Implement capture support for SoundIO | Chris Robinson | 2018-09-07 | 1 | -6/+266 |
| | |||||
* | Rename ALCsndioBackend | Chris Robinson | 2018-09-07 | 2 | -47/+47 |
| | |||||
* | Append the OpenSL capture device to the appropriate list | Chris Robinson | 2018-08-23 | 1 | -1/+1 |
| | |||||
* | Always prepare the ALSA PCM handle before starting capture | Chris Robinson | 2018-06-08 | 1 | -2/+9 |
| | | | | | | Draining the ALSA device via stopping puts it into a setup state, which requires re-preparing before playback can start again. Preparing it prior to the first start seems to cause no harm, so just always do it before starting. | ||||
* | Clear ALSA's PCM handle after closing it | Chris Robinson | 2018-04-19 | 1 | -0/+1 |
| | |||||
* | Initialize COM using the multithreaded apartment | Chris Robinson | 2018-04-01 | 1 | -7/+7 |
| | | | | | | | I honestly have no idea which is the correct (or better) mode to use given the confusing mess COM is, but CoInitialize uses single-threaded apartments which seems to be a problem for with at least a couple games in the STALKER series (the call fails, which causes us to drop back to the DSound backend). | ||||
* | Fix capture device closing in the CoreAudio backend | Chris Robinson | 2018-03-24 | 1 | -14/+26 |
| | |||||
* | Remove an unused struct and move some functions to where they're used | Chris Robinson | 2018-03-23 | 1 | -38/+24 |
| | |||||
* | Combine multiple allocations into one | Chris Robinson | 2018-03-23 | 1 | -16/+5 |
| | |||||
* | Remove an outdated comment | Chris Robinson | 2018-03-14 | 1 | -5/+0 |
| | |||||
* | Release the PulseAudio mainloop lock sooner | Chris Robinson | 2018-03-14 | 1 | -10/+16 |
| | |||||
* | Avoid using pa_stream_begin_write with PulseAudio | Chris Robinson | 2018-03-14 | 1 | -23/+9 |
| | | | | | | | | | | | | | It seems to actually have a negative performance impact when the system is under load. Without having actual measurements for any potential benefits, simply go with the recommended (and previous fallback) method of allocating space for the write and passing the free method. Ideally some kind of ring buffer could be used, so rather than constantly allocating and freeing blocks of memory, it uses the same memory over again with the callback marking each one as reusable. Unfortunately the callback isn't given much information to work with, and the update size (minreq) can potentially change during playback, which complicates things. | ||||
* | Rename the mmdevapi backend to wasapi | Chris Robinson | 2018-03-09 | 2 | -172/+167 |
| | |||||
* | Add extern "C" to some headers | Chris Robinson | 2018-03-09 | 1 | -0/+8 |
| | |||||
* | Prefix SDL2 device names on Windows | Chris Robinson | 2018-03-09 | 1 | -6/+31 |
| | |||||
* | Request the device's sample type for SDL2 | Chris Robinson | 2018-03-09 | 1 | -1/+13 |
| | |||||
* | Store the frame size for the SDL2 backend | Chris Robinson | 2018-03-08 | 1 | -6/+6 |
| | |||||
* | Print the unsupported values from SDL2 | Chris Robinson | 2018-03-08 | 1 | -5/+2 |
| |