Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Lock the device using the pulseaudio main loop | Chris Robinson | 2012-10-07 | 1 | -8/+15 |
| | |||||
* | Define WIN32_LEAN_AND_MEAN when including windows.h in alMain.h | Chris Robinson | 2012-10-06 | 2 | -0/+6 |
| | |||||
* | 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 | 14 | -24/+23 |
| | |||||
* | Free the global ALSA config after opening capture devices too | Chris Robinson | 2012-09-02 | 1 | -1/+4 |
| | |||||
* | alsa: Free the global config cache to remove a lot of reported leaks | Lauri Kasanen | 2012-09-02 | 1 | -0/+6 |
| | | | | Signed-off-by: Lauri Kasanen <[email protected]> | ||||
* | Print the error when reporting snd_pcm_delay failure | Chris Robinson | 2012-08-27 | 1 | -1/+1 |
| | |||||
* | Add a macro to help make a 64-bit value | Chris Robinson | 2012-08-19 | 1 | -1/+1 |
| | |||||
* | Use a default method to provide a dummy latency | Chris Robinson | 2012-08-19 | 12 | -98/+12 |
| | |||||
* | Hold the device lock with PulseAudio between mixing and writing | Chris Robinson | 2012-08-18 | 1 | -0/+2 |
| | |||||
* | Hold the device lock with ALSA between mixing and writing | Chris Robinson | 2012-08-18 | 1 | -0/+4 |
| | |||||
* | Use non-blocking access for ALSA playback | Chris Robinson | 2012-08-18 | 1 | -17/+37 |
| | |||||
* | Move the device lock into the backend function table | Chris Robinson | 2012-08-18 | 14 | -0/+28 |
| | | | | | 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 | 14 | -14/+154 |
| | | | | | This is effectively the time until the next update will be heard by the user, or the closest approximation thereof, in nanoseconds. | ||||
* | Avoid dynamic handling of libsndio | Chris Robinson | 2012-08-16 | 1 | -81/+0 |
| | | | | This makes it safer and easier to handle as OpenBSD updates it | ||||
* | 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 |
| | |||||
* | Silence some GCC warnings | Chris Robinson | 2012-06-17 | 1 | -0/+4 |
| | |||||
* | Only try float32 with DSound when specifically requested | Chris Robinson | 2012-06-17 | 1 | -1/+4 |
| | | | | | Some hardware drivers seem to have a bug where a buffer descriptor with a 32-bit float sample type ends up creating a non-float32 buffer. | ||||
* | Avoid failing if ALSA can't set a buffer or period time near to our request | Chris Robinson | 2012-06-16 | 1 | -21/+2 |
| | | | | | | These functions should not fail, but there seem to be bugs that cause them to sometimes. We're flexible enough to handle almost anything it throws back at us though, so anything is better than nothing here. | ||||
* | 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. | ||||
* | 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 | 13 | -13/+13 |
| | |||||
* | Clamp the ALSA period time between min and max if setting near fails | Chris Robinson | 2012-05-08 | 1 | -1/+17 |
| | |||||
* | Clamp the ALSA buffer time between min and max if setting near fails | Chris Robinson | 2012-05-07 | 1 | -1/+18 |
| | | | | | | It seems there's some bugs with snd_pcm_hw_params_set_buffer_time_near that cause it to return "invalid argument" despite a valid nearby buffer time being available. Clamping the buffer time seems to mitigate the issue a bit. | ||||
* | Look for libsndio.so.2 instead of libsndio.so | Chris Robinson | 2012-05-05 | 1 | -1/+1 |
| | |||||
* | Check the right playback device file with OSS | Chris Robinson | 2012-04-22 | 1 | -1/+1 |
| | |||||
* | Remove hungarian notation from dsound and mmdevapi | Chris Robinson | 2012-04-19 | 2 | -151/+150 |
| | |||||
* | Remove hungarian notation from the winmm backend | Chris Robinson | 2012-04-19 | 1 | -212/+207 |
| | |||||
* | Remove some more hungarian notation | Chris Robinson | 2012-04-19 | 6 | -127/+127 |
| | |||||
* | Remove hungarian notation from the device and context structs | Chris Robinson | 2012-04-19 | 14 | -22/+22 |
| | |||||
* | Avoid modifying the ALCdevice in portaudio's open method | Chris Robinson | 2012-03-13 | 1 | -25/+31 |
| | |||||
* | Store the portaudio stream parameters with the device | Chris Robinson | 2012-03-13 | 1 | -32/+33 |
| | |||||
* | Minor coreaudio fix, and make sure to set the device name | Chris Robinson | 2012-03-13 | 1 | -4/+3 |
| | |||||
* | 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 | ||||
* | Attempted fix for the coreaudio backend | Chris Robinson | 2012-03-12 | 1 | -16/+40 |
| | |||||
* | Store a duplicate of the mmdevapi device ID | Chris Robinson | 2012-03-06 | 1 | -5/+9 |
| | |||||
* | Add a comment explaining the pulseaudio prop_filter | Chris Robinson | 2012-03-06 | 1 | -0/+4 |
| | |||||
* | Update the ALCdevice in winmm's reset method instead of open | Chris Robinson | 2012-03-06 | 1 | -64/+80 |
| | |||||
* | 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 | 13 | -106/+262 |
| | | | | | | | | | | | | 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 |
| |