| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Also convert some functions to trailing return types and remove (void) casts.
|
|
|
|
|
| |
This also seems to work around the problematic MinGW code generation, so the
indirection to access it can be removed.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|