aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/backends/pulseaudio.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Avoid unnecessary parsing for channel mapsChris Robinson2019-05-041-54/+61
|
* Use exceptions when opening and reseting the PulseAudio backendChris Robinson2019-05-041-117/+82
|
* Be more robust with PulseAudio captureChris Robinson2019-04-271-12/+15
| | | | | | | Particularly, handle "holes" in the record stream and premature end-of-buffer. Also don't bail out when capturing while disconnected (the extension says it should provide anything it previously reported available, going to silence for anything no longer readable).
* Add missing function pointersChris Robinson2019-04-271-154/+107
|
* Remove some ancient PulseAudio KDE/Phonon/Qt hacksChris Robinson2019-04-271-17/+5
| | | | | | | | | | Unfortuantely, the relevant KDE bug still seems to exist (streams are forced to KDE's default device after opening, even when they're created with a specific device at user request). I do not know why KDE thinks this is in any way good behavior (the user doesn't get their desired device, nor does the stream get the appropriate format for the device its ultimately put on), but making streams non-movable as a workaround has been a thorn in the side of non-KDE users for too long. C'mon KDE, it's been nearly (if not more than) 7 years now.
* Remove unused pa_threaded* functionsChris Robinson2019-04-271-83/+0
|
* Use a custom PulseAudio mainloopChris Robinson2019-04-271-235/+199
| | | | | This allows using RT priority again with the mixer. It also consolidates all mainloop instances into one.
* Scale the update size with sample rate changesChris Robinson2019-04-261-6/+9
|
* Specify the buffer size as itself instead of the period countChris Robinson2019-04-261-20/+13
| | | | | | | Certain backends don't need a buffer size to be a strict multiple of the period count, which allows a little more flexibility. The period/update size simply acts as the minimum request, which helps control CPU load by determining how often parameter and other pre-mixing updates are processed.
* Don't round the PulseAudio write size to the period multipleChris Robinson2019-04-171-4/+0
|
* Fix PulseAudio backend initializationChris Robinson2019-04-161-1/+1
|
* Remove the backend factory deinit methodChris Robinson2019-04-141-148/+130
| | | | | | It was never actually called anywhere, and there's no safe place where it can be called. It's probably better to let the individual backends worry about cleaning themselves up anyway.
* Set the EARLY_REQUESTS flag for PulseAudio when possibleChris Robinson2019-03-261-5/+16
|
* Rename DevProbe enum namesChris Robinson2019-03-191-2/+2
|
* Remove redundant void argument list in function defFilip Gawin2019-01-091-3/+3
|
* Use c++ headersFilip Gawin2019-01-091-1/+1
|
* Avoid using old style castsFilip Gawin2019-01-081-3/+3
| | | | | | To think about: examples/alffplay.cpp:600 OpenAL32/Include/alMain.h:295
* Don't make the backend's lock/unlock methods noexceptChris Robinson2018-12-291-8/+8
|
* Return a unique_ptr for the backendChris Robinson2018-12-291-3/+3
|
* Make the backend type an enum classChris Robinson2018-12-291-17/+13
|
* Convert the backends to use proper inheritenceChris Robinson2018-12-281-270/+209
|
* Use static_cast instead of reinterpret_cast where possibleChris Robinson2018-12-281-3/+3
|
* Turn some more methods into member functionsChris Robinson2018-12-281-93/+118
|
* Make more methods into member functionsChris Robinson2018-12-271-265/+210
|
* Rename some more struct members for consistencyChris Robinson2018-12-271-191/+190
|
* Get rid of the unnecessary STATIC_(UP)CAST macrosChris Robinson2018-12-271-25/+23
|
* Use a proper constructor/destructor for the ALCbackend baseChris Robinson2018-12-271-6/+6
|
* Rework the pulseaudio backend to avoid an explicit mixer threadChris Robinson2018-12-251-122/+59
|
* Cache the process binary path and nameChris Robinson2018-12-251-1/+1
|
* Remove extraneous typedef, struct, and enum keywordsChris Robinson2018-12-241-1/+1
|
* Use inline methods for the device format sizesChris Robinson2018-12-191-2/+2
|
* Don't bother with (really) old pulseaudio headersChris Robinson2018-11-281-19/+0
|
* Avoid using ATOMIC_LOAD on ALCdevice::ConnectedChris Robinson2018-11-261-2/+2
|
* Rename some struct membersChris Robinson2018-11-261-9/+9
|
* Replace remaining uses of std::vector with al::vectorChris Robinson2018-11-241-3/+3
| | | | Which uses a custom allocator that uses our allocation functions.
* Use proper time types for the device clock time and latencyChris Robinson2018-11-221-2/+2
|
* Use a std::string for the device nameChris Robinson2018-11-181-10/+6
|
* Avoid more cases of an enum variable and type name clashChris Robinson2018-11-181-2/+2
|
* Don't pass the current thread to althrd_setnameChris Robinson2018-11-171-1/+1
|
* Convert the PulseAudio backend factoryChris Robinson2018-11-151-148/+107
|
* Use a regular char* for the device's nameChris Robinson2018-11-151-6/+10
|
* Avoid some more uses of al_stringChris Robinson2018-11-151-1/+1
|
* Use std::string instead of al_string for enumeratingChris Robinson2018-11-151-5/+3
|
* Fix some comment indentationChris Robinson2018-11-131-3/+3
|
* Use C++ for GetProcBinaryChris Robinson2018-11-111-6/+3
|
* Expand the anonymous namespacesChris Robinson2018-11-021-18/+14
|
* Make the polymorphism macros less hacky in C++Chris Robinson2018-11-011-32/+37
| | | | | | 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.
* Use an anonymous namespace instead of static for some thingsChris Robinson2018-11-011-3/+7
|
* Use a wrapper function to simplify a checkChris Robinson2018-11-011-8/+10
|
* Use perfect forwarding to initialize DevMap entriesChris Robinson2018-11-011-3/+4
|