| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The device playback is stopped so the function doesn't technically fail. This
primarily just allows the device state to be flagged as paused for a subsequent
reset or reopen, which covers a potential issue where a device is disconnected,
the app pauses it due to something like an incoming call or being put into the
background, then successfully resets or reopens the device before playback
should resume. Without this, the device will (try to) start immediately upon
being reset or reopened, which would either fail (and disconnect again) or
start playing again prematurely before it can be stopped.
|
| |
|
|
|
|
| |
And don't allow resuming if the backend device isn't properly set up.
|
|
|
|
| |
Also convert some functions to trailing return types and remove (void) casts.
|
|
|
|
|
| |
This avoids using an array of 1 as a flexible array member, and instead uses a
span to reference the memory after itself.
|
|
|
|
| |
And suppress some warnings
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Even though they're protected by a SeqLock of sorts, it's still UB to read and
write non-atomic vars from different threads. It's fine to do relaxed reads and
writes given the lock though, to help alleviate the cost.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* feat(ALC_SOFT_system_events): Add alcEventIsSupportedSOFT method in ALC_SOFT_system_events unreleased extension
The purpose of this addition (to my collection) are allow to retrieve which events are supported and if events are fully supported or if some case isn't managed for some reason
For exemple only some backends provide system events:
* pipewire -> Full support of extension
* wasapi -> Full support of extension
* pulseaudio -> Support of add and remove devices events only
* coreaudio -> Support of default device change only
* feat(ALC_SOFT_system_events): Fix typo in alext.h
Cf following review : https://github.com/kcat/openal-soft/pull/938#discussion_r1404509828
* feat(ALC_SOFT_system_events): Remove ALC_EVENT_NOT_SUPPORTED_SOFT token
Cf following discussions between this comment : https://github.com/kcat/openal-soft/pull/938#issuecomment-1825876452 to this comment : https://github.com/kcat/openal-soft/pull/938#issuecomment-1826419406
|
|
|
|
|
| |
This ultimately is to properly distinguish and clarify formats being 32-bit
integer and 32-bit float.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is essentially just a copy of alcGetProcAddress. It's purpose is to bypass
Creative's router's alcGetProcAddress implementation, which returns its own
functions even if given a device handle. When combined with it also wrapping
the drivers' device and context handles, that prevents any extention function
that needs a recognizable device or context handle from working, like the
*Direct functions, as there's no way for the app to get a device or context
handle the driver can know about).
An alternate function to get function pointers allows a driver to return its
own implementation for standard and extension functions, which an application
can use to "bootstrap" audio to use a particular driver directly, enabling
use of extensions that the router gets in the way of (and also avoid the
overhead of the router, however small that may be).
|
|
|
|
|
|
|
| |
This doesn't make much sense since the effect associated with the ID may be
modified and not represent the effect being played, or was even deleted and
isn't a valid effect ID, but Generic Software allows querying it so it should
be queryable for compatibility if nothing else.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Devices being added or removed, or the default device changing. Not all
backends report this (none do currently), but it'll be supported where it can.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Only relevant for C++, but these functions can't throw as it's a C-based API.
Letting the compiler know that helps improve code generation. Extension
callbacks must also not let exceptions leave the callback, or else Bad Things
can happen.
The macro AL_DISABLE_NOEXCEPT may be defined before including the headers to
not mark functions as noexcept, but this should only be done if the caller
can't otherwise be fixed.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|