aboutsummaryrefslogtreecommitdiffstats
path: root/router/router.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Avoid using al_calloc/al_free in the routerChris Robinson2024-01-011-4/+3
|
* Remove void from empty parameter listsChris Robinson2023-12-121-2/+2
| | | | Also convert some functions to trailing return types and remove (void) casts.
* Make some global and static member variables inlineChris Robinson2023-09-111-9/+0
| | | | | This also seems to work around the problematic MinGW code generation, so the indirection to access it can be removed.
* Fix a type conversion warningChris Robinson2023-06-011-2/+1
|
* Improve wasapi backend UWP support (#853)Deal(一线灵)2023-05-311-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Improve wasapi, support uwp build * Fix compile errors * [UWP] Support ReadALConfig from app roaming * [UWP] Post disconnect event when default device changed * [UWP] Fix appveyor ci * [WIN32] Default device change notification support * Fix warnings * Add event to notify the app when the default device changes - Event type: AL_EVENT_TYPE_DEFAULT_DEVICE_CHANGED_SOFT=0x19A7 - Event callback parameters: void _onALSoftEvent(ALenum eventType, ALuint object, // dataFlow: 0(render), 1(capture) ALuint param, // 0 ALsizei length, // 0 const ALchar* message, // Default device changed:<deviceId> void* userParam); * Fix warnings * Fire default device changed event in mixerProc thread * Fix compile warning * [UWP] Improve cmake * Revert changes * Notify default device change by system event callback * Revert insignificant change * Remove duplicate call
* Fix router not loading on Creative's hardware OpenAL (#773)Felipe2022-11-161-12/+22
| | | | | | | | | | | | | | | According to the programming guide and the specification, those functions may be used by extensions. However, Creative's hardware OpenAL chose to not implement stub functions for those that they do not use. Currently they use only alBufferi for X-RAM related functions. Other implementations, such as OpenAL Soft and wrap_oal implement stub functions for those methods therefore they work. This commit turns those functions optional, just like they were in the old FOSS router. Consumers of the router will receive a nullptr as expected for not implemented methods if they load them using alGetProcAddress, which I believe is the correct way to do so. That is, the context must be current before loading al* functions.
* Add EFX functions back to the routerChris Robinson2022-06-181-5/+5
| | | | | They're necessary for proper exports whem building the router. And if there's ever a spec update that standardizes them, they'll be needed anyway.
* Don't handle EFX functions in the routerChris Robinson2022-02-261-36/+3
| | | | | | Creative's wrapper driver doesn't handle them through alcGetProcAddress, at least with a null device. For this to work properly, they'd have to be loaded per-context instead of per-driver.
* Work around a MinGW thread_local bugChris Robinson2021-12-201-0/+5
| | | | | | | | | | MinGW-w64 generates bad code when accessing extern thread_local objects. Wrapper functions are used to ensure it only accesses them from the same place they're defined. This unfortunately adds a bit of overhead for what should be a relatively simple thing. These functions are inlined for non-MinGW targets, avoiding the overhead on non-affected targets.
* Export EFX functions from the routerChris Robinson2021-01-271-0/+36
|
* Fix up some more uses of [AL[C]]voidChris Robinson2020-04-281-8/+8
|
* Silence some warnings from GCC in the routerChris Robinson2019-10-011-4/+4
|
* Use al::getenv to get the router env varsChris Robinson2019-10-011-42/+40
|
* Remove the UNUSED macroChris Robinson2019-07-281-1/+1
|
* Simplify some binary search lookupsChris Robinson2018-11-261-69/+27
|
* Clean up the DriverIface in its destructorChris Robinson2018-10-301-8/+1
|
* Clean up the router's PtrIntMapChris Robinson2018-10-301-76/+55
|
* Use std::wstring in place of some fixed WCHAR arraysChris Robinson2018-10-301-13/+12
|
* Use std::vector instead of custom dynamic arraysChris Robinson2018-10-301-41/+16
|
* Use C++ atomics and mutexes in the routerChris Robinson2018-10-301-5/+1
|
* Convert the router to C++Chris Robinson2018-10-301-0/+541