Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Support capture with mmdevapi | Chris Robinson | 2014-12-19 | 1 | -1/+551 | |
| | ||||||
* | 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 | |
| | ||||||
* | Support B-Format output with the wave file writer | Chris Robinson | 2014-11-25 | 1 | -0/+3 | |
| | ||||||
* | Fix 5.1 surround sound | Chris Robinson | 2014-11-07 | 1 | -8/+8 | |
| | | | | | | | | | | | | | 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. | |||||
* | Check mmdevapi device ids to match the default device | Chris Robinson | 2014-08-28 | 1 | -19/+36 | |
| | | | | | Seems Windows can return different IMMDevice object pointers for the same endpoint. | |||||
* | 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 | |||||
* | Don't require pre-declaring vector types | Chris Robinson | 2014-07-06 | 1 | -1/+1 | |
| | ||||||
* | Iniitialize some mmdevapi backend fields in the constructor | Chris Robinson | 2014-05-02 | 1 | -0/+23 | |
| | ||||||
* | Add a helper VECTOR_FOR_EACH macro | Chris Robinson | 2014-04-30 | 1 | -10/+8 | |
| | ||||||
* | Convert the mmdevapi backend to the new backend API | Chris Robinson | 2014-04-25 | 1 | -393/+509 | |
| | ||||||
* | Use a vector for mmdevapi device lists | Chris Robinson | 2014-04-24 | 1 | -93/+77 | |
| | ||||||
* | Use a helper to return mmdevapi message thread responses | Chris Robinson | 2014-04-22 | 1 | -16/+15 | |
| | ||||||
* | Rename SetThreadName to althrd_setname | Chris Robinson | 2014-04-17 | 1 | -1/+1 | |
| | ||||||
* | Implement a C11-like thread wrapper and use it in mmdevapi and pulseaudio | Chris Robinson | 2014-04-16 | 1 | -8/+8 | |
| | ||||||
* | Use an al_string for the device name | Chris Robinson | 2014-03-28 | 1 | -7/+2 | |
| | ||||||
* | Use al_string to handle mmdevapi and dsound device names | Chris Robinson | 2014-03-28 | 1 | -29/+23 | |
| | ||||||
* | Reactivate the mmdevapi audio client and set the event handle on reset | Chris Robinson | 2014-03-27 | 1 | -10/+26 | |
| | ||||||
* | Don't assume the default mmdevapi device is in the collection | Chris Robinson | 2014-03-17 | 1 | -2/+2 | |
| | ||||||
* | Fix a race condition in the mmdevapi message queue thread | Chris Robinson | 2014-02-09 | 1 | -0/+6 | |
| | ||||||
* | Add some extra traces to the mmdevapi backend | Chris Robinson | 2014-02-09 | 1 | -0/+8 | |
| | | | | Trying to track down the cause of some reported errors. | |||||
* | Add a macro for GCC to ensure stack alignment | Chris Robinson | 2013-11-25 | 1 | -1/+1 | |
| | ||||||
* | Remove the Lock and Unlock methods from BackendFuncs | Chris Robinson | 2013-11-04 | 1 | -2/+0 | |
| | | | | | All backends that still use the old interface use the default locking methods, which is also used by the ALCbackend base. | |||||
* | Move the device mutex to the backend | Chris Robinson | 2013-10-28 | 1 | -0/+1 | |
| | ||||||
* | Rework threading functions | Chris Robinson | 2013-10-27 | 1 | -3/+3 | |
| | ||||||
* | Set a name for the mixer and recording threads | Chris Robinson | 2013-10-27 | 1 | -0/+1 | |
| | ||||||
* | Fix a potential leak when mmdevapi fails to open | Chris Robinson | 2013-05-19 | 1 | -0/+3 | |
| | ||||||
* | Filter unneeded thread messages with MMDevApi | Chris Robinson | 2012-12-24 | 1 | -1/+3 | |
| | ||||||
* | Lock the device before calling aluHandleDisconnect | Chris Robinson | 2012-12-02 | 1 | -0/+6 | |
| | | | | | | PulseAudio causes an assert if being relocked inside a callback on the worker thread, where aluHandleDisconnect is called. We can assume it's already locked there, so just make sure the device is locked before being calling it. | |||||
* | Use the stored buffer metrics for the mmdevapi buffer size | Chris Robinson | 2012-11-04 | 1 | -9/+1 | |
| | ||||||
* | Add rudimentary latency tracking for mmdevapi | Chris Robinson | 2012-11-04 | 1 | -1/+16 | |
| | | | | | | | | This won't be as granular as it could be, since it only updates when the wakeup event trips (which may or may not happen more often than OpenAL's mix updates). A more correct method would be to query GetCurrentPadding directly, but that would require sending a message to the processing thread and waiting for a reply, since we can't guarantee COM on the calling thread. | |||||
* | Don't include alu.h in alMain.h | Chris Robinson | 2012-09-14 | 1 | -2/+1 | |
| | ||||||
* | Use a default method to provide a dummy latency | Chris Robinson | 2012-08-19 | 1 | -8/+1 | |
| | ||||||
* | Move the device lock into the backend function table | Chris Robinson | 2012-08-18 | 1 | -0/+2 | |
| | | | | | For backend-specific implementations: this should hold the audio mixer loop for playback devices, and provide recursive mutex behavior. | |||||
* | Add a device method to retrieve the active latency | Chris Robinson | 2012-08-17 | 1 | -1/+9 | |
| | | | | | This is effectively the time until the next update will be heard by the user, or the closest approximation thereof, in nanoseconds. | |||||
* | Add DEVPKEY_Device_FriendlyName declaration for mingw-w64 compatibility | Chris Robinson | 2012-06-14 | 1 | -0/+3 | |
| | ||||||
* | Rename AllDevice -> AllDevices | Chris Robinson | 2012-05-09 | 1 | -1/+1 | |
| | ||||||
* | Remove hungarian notation from dsound and mmdevapi | Chris Robinson | 2012-04-19 | 1 | -11/+11 | |
| | ||||||
* | Remove hungarian notation from the device and context structs | Chris Robinson | 2012-04-19 | 1 | -1/+1 | |
| | ||||||
* | Try to ensure the full mmdevapi buffer is used | Chris Robinson | 2012-03-13 | 1 | -4/+12 | |
| | ||||||
* | Try to ensure at least 2 mmdevapi updates | Chris Robinson | 2012-03-13 | 1 | -1/+2 | |
| | ||||||
* | Try to find a multiple of mmdevapi's period size nearest to the wanted ↵ | Chris Robinson | 2012-03-13 | 1 | -0/+3 | |
| | | | | update size | |||||
* | Store a duplicate of the mmdevapi device ID | Chris Robinson | 2012-03-06 | 1 | -5/+9 | |
| | ||||||
* | Use a separate backend callback to start playback of the device | Chris Robinson | 2012-03-05 | 1 | -30/+54 | |
| | | | | | | | | | | | | This allows us to properly update the ALCdevice and its resources with the new parameters before starting playback, instead of expecting the mixer to block and wait after it has begun. This also lets us avoid holding the device lock while resetting and starting the device, which helps prevent lock inversion on some backends (ie, one thread locking A then B, and another thread locking B then A), ultimately allowing certain backends to asynchronously update the ALCdevice without risk of lockup. Capture still has issues here, however. | |||||
* | Don't use GUIDs to ID mmdevapi devices, and don't enumerate if not needed | Chris Robinson | 2012-03-01 | 1 | -101/+68 | |
| | ||||||
* | Get and release the mmdevapi render client iface on the message thread | Chris Robinson | 2012-02-29 | 1 | -17/+15 | |
| | ||||||
* | Use local variables to determine how much to write to mmdevapi | Chris Robinson | 2012-02-29 | 1 | -3/+6 | |
| | ||||||
* | Print the mmdevapi device and GUID found | Chris Robinson | 2012-02-26 | 1 | -0/+3 | |
| | ||||||
* | Watch for CLSIDFromString errors | Chris Robinson | 2012-02-23 | 1 | -1/+2 | |
| | ||||||
* | Avoid using a default name with the MMDevApi backend | Chris Robinson | 2012-02-20 | 1 | -17/+13 | |
| |