Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 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 |
| | |||||
* | Add default handlers for reset, captureSamples, and availableSamples | Chris Robinson | 2013-10-29 | 1 | -19/+3 |
| | |||||
* | Convert the PulseAudio backend to the new interface | Chris Robinson | 2013-10-29 | 1 | -623/+863 |
| | |||||
* | Move the device mutex to the backend | Chris Robinson | 2013-10-28 | 1 | -0/+1 |
| | |||||
* | Rework threading functions | Chris Robinson | 2013-10-27 | 1 | -5/+5 |
| | |||||
* | Set a name for the mixer and recording threads | Chris Robinson | 2013-10-27 | 1 | -0/+1 |
| | |||||
* | Use the UNUSED macro in the backends | Chris Robinson | 2013-10-07 | 1 | -21/+11 |
| | |||||
* | Use a simpler U64 macro to make 64-bit constants | Chris Robinson | 2013-10-06 | 1 | -1/+1 |
| | |||||
* | Compile using -std=c99 when available | Chris Robinson | 2013-10-03 | 1 | -1/+1 |
| | |||||
* | Build an appropriate channel map for PulseAudio | Chris Robinson | 2013-02-08 | 1 | -2/+28 |
| | |||||
* | Avoid locking PulseAudio's mainloop when starting and stopping capture | Chris Robinson | 2012-11-19 | 1 | -4/+0 |
| | | | | | The mainloop is already locked by the caller, and double-locking interferes with the subsequent wait. | ||||
* | Lock the device using the pulseaudio main loop | Chris Robinson | 2012-10-07 | 1 | -8/+15 |
| | |||||
* | Scale and round NumUpdates when PulseAudio changes the sample rate | Chris Robinson | 2012-10-04 | 1 | -7/+7 |
| | |||||
* | Reset maxlength if PulseAudio updates the playback rate | Chris Robinson | 2012-10-02 | 1 | -0/+1 |
| | |||||
* | Round when calculating NumUpdates from PulseAudio's minreq | Chris Robinson | 2012-09-25 | 1 | -7/+8 |
| | |||||
* | Make sure PulseAudio sets an update size that's a multiple of 4 samples with SSE | Chris Robinson | 2012-09-20 | 1 | -2/+5 |
| | |||||
* | Don't include alu.h in alMain.h | Chris Robinson | 2012-09-14 | 1 | -0/+2 |
| | |||||
* | Add a macro to help make a 64-bit value | Chris Robinson | 2012-08-19 | 1 | -1/+1 |
| | |||||
* | Hold the device lock with PulseAudio between mixing and writing | Chris Robinson | 2012-08-18 | 1 | -0/+2 |
| | |||||
* | 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/+22 |
| | | | | | This is effectively the time until the next update will be heard by the user, or the closest approximation thereof, in nanoseconds. | ||||
* | Don't unlock the pulseaudio mainloop when mixing | Chris Robinson | 2012-08-12 | 1 | -2/+0 |
| | | | | | | Lock contention could cause a lengthy delay between mixing and writing the audio. There shouldn't be any risk of dead-locking as the device lock should never be held when the mainloop gets locked. | ||||
* | Add missing include | Chris Robinson | 2012-06-19 | 1 | -0/+1 |
| | |||||
* | Use a proper method to wait for a PulseAudio operation | Chris Robinson | 2012-06-19 | 1 | -18/+19 |
| | |||||
* | Allow PulseAudio to spawn a server by default | Chris Robinson | 2012-06-16 | 1 | -1/+1 |
| | | | | | | | Since only one backend is used at a time now, the issues with device ownership aren't really prevelant anymore. An application that tries to open all enumerated devices won't run into the problem of spawning a server and end up preventing other backend devices from working. | ||||
* | Add an option to allow PulseAudio to move streams | Chris Robinson | 2012-06-16 | 1 | -3/+28 |
| | | | | | This could be made the default, if there's a safe way to update the AL device specifier. | ||||
* | Rename AllDevice -> AllDevices | Chris Robinson | 2012-05-09 | 1 | -1/+1 |
| | |||||
* | Remove hungarian notation from the device and context structs | Chris Robinson | 2012-04-19 | 1 | -4/+4 |
| | |||||
* | Add a comment explaining the pulseaudio prop_filter | Chris Robinson | 2012-03-06 | 1 | -0/+4 |
| | |||||
* | Filter out a couple pulseaudio stream properties by setting them to 0-length ↵ | Chris Robinson | 2012-03-05 | 1 | -7/+25 |
| | | | | | | | | | data It seems Qt/Phonon will globally set media.role and phonon.streamid properties, causing them to apply even to our streams if they happen to be loaded in the same process. This is particularly a problem because media.role gets set to "event", preventing the streams from showing in pavucontrol. | ||||
* | Returned pa_operations can be NULL | Chris Robinson | 2012-03-05 | 1 | -31/+21 |
| | |||||
* | Use a separate backend callback to start playback of the device | Chris Robinson | 2012-03-05 | 1 | -19/+22 |
| | | | | | | | | | | | | 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. | ||||
* | Print and handle errors from pa_stream_readable_size | Chris Robinson | 2012-03-05 | 1 | -1/+6 |
| | |||||
* | Set prebuf to 0 since we're handling the stream start manually | Chris Robinson | 2012-03-04 | 1 | -1/+2 |
| |