| Age | Commit message (Collapse) | Author |
|
|
|
Currently, processing of audio samples is called from AudioRenderer's Update method, using a fixed 4 buffers to process the given samples. Games call Update at variable rates, depending on framerate and/or sample count, which causes inconsistency in audio processing. From what I've seen, 60 FPS games update every ~0.004s, but 30 FPS/160 sample games update somewhere between 0.02 and 0.04, 5-10x slower. Not enough samples get fed to the backend, leading to a lot of audio skipping.
This PR seeks to address this by de-coupling the audio consumption and the audio update. Update remains the same without calling for buffer queuing, and the consume now schedules itself to run based on the sample rate and count.
|
|
- This is used in fw 12.x.x games.
|
|
* Add missing includes
* Add array
|
|
Used in Ninja Gaiden games.
|
|
|
|
|
|
Transition to PascalCase for result names.
|
|
- Removes a dependency on core and input_common from common.
|
|
|
|
|
|
Most notable fix is the voices in Fire Emblem Three Houses
|
|
Prevent over scheduling audio events and add motion update unschedule event
|
|
update event
|
|
As this is causing issues in a few games, it's best to have it disabled until it's completely implemented
|
|
Fixes Devil May Cry
|
|
This requires making several types trivial and properly initialize
them whenever they are called.
|
|
INSERT_PADDING_BYTES_NOINIT is more descriptive of the underlying behavior.
|
|
Make the coding conventions more consistant
|
|
lut_index had 0 added when nothing was supposed to be added
despite this, index was not added to 0 when nothing was supposed to be added...
|
|
- This makes it such that we can safely access service members from CoreTiming thread.
|
|
|
|
|
|
audio_core: Make shadowing and unused parameters errors
|
|
Moves the audio code closer to enabling warnings as errors in general.
|
|
It's unused and doesn't need to be initialized
|
|
|
|
Preliminary work for upmixing & general cleanup. Fixes basic issues in games such as Shovel Knight and slightly improves the LEGO games. Upmixing stitll needs to be implemented.
Audio levels in a few games will be fixed as we now use the downmix coefficients when possible instead of supplying our own
|
|
Resolves the clang build issue in a more unintrusive way.
|
|
|
|
Recent changes to the build system that made more warnings be flagged as
errors caused building via clang to break.
Fixes #4795
|
|
Normalizes the warnings shared between audio_core and core.
|
|
codec: Make lookup table static constexpr
|
|
cubeb_sink: Use static_cast instead of reinterpret_cast in DataCallback()
|
|
audio_core: Resolve sign conversion warnings
|
|
audio_core: Remove unnecessary inclusions
|
|
Allows compilers to elide needing to push these values on the stack
every time the function is called.
|
|
|
|
Conversions from void* to the proper data type are well-defined and
supported by static_cast. We don't need to use reinterpret_cast here.
|
|
Allows compilers to elide needing to push these values on the stack
every time the function is called.
|
|
Same behavior, but removes header dependencies where they don't need to
be.
|
|
While were at it, we can also enable sign conversion warnings and other
common warnings as errors to prevent these from creeping back into the
codebase.
|
|
While we're at it we can make the destructor of the base class virtual
to ensure that any polymorphism issues never occur.
|
|
In a lot of cases, we can make use of const references rather than
non-const references.
While we're in the area we can silence some truncation and sign
conversion warnings.
|
|
GenerateFinalMixCommand()
|
|
audio_core: Apollo Part 1, AudioRenderer refactor
|
|
|
|
|
|
|
|
|