summaryrefslogtreecommitdiffstats
path: root/src/audio_core/sink/sink_stream.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2023-06-30sink_stream: Resolve heap buffer corruption due to out of bounds writeMorph1-14/+20
Also, remove the use of ScratchBuffer when upmixing, as other channels may not be initialized with zeroed out data.
2023-06-22Remove memory allocations in some hot pathsKelebek11-7/+8
2023-06-08core_timing: Use CNTPCT as the guest CPU tickMorph1-1/+0
Previously, we were mixing the raw CPU frequency and CNTFRQ. The raw CPU frequency (1020 MHz) should've never been used as CNTPCT (whose frequency is CNTFRQ) is the only counter available.
2023-06-06android: audio_core: sink_stream: Remove unnecessary check.bunnei1-3/+0
2023-06-04audio_renderer: resolve adsp thread deadlock shutdownLiam1-2/+3
2023-06-03android: audio_core: Avoid shutdown hang.bunnei1-0/+3
2023-05-27Audren wait as suggested by ByLawsKelebek11-0/+3
2023-05-18Smooth out the DSP callback by adding a 5ms wait time limitKelebek11-2/+2
2023-04-08Use GetGlobalTimeNs as opposed to clock ticksBilly Laws1-3/+2
2023-04-04Add some explicit latency to sample count reportingBilly Laws1-1/+2
Some games have very tight scheduling requirements for their audio which can't really be matched on the host, adding a constant to the reported value helps to provide some leeway.
2023-03-27audio_core: No longer stall when sink queue is fullBilly Laws1-43/+0
Now the audout and audren update rates are tied to the sink status stalling is no longer necessary.
2023-03-27Run clang-formatBilly Laws1-5/+5
2023-03-27audio: Wait for samples on the emulated DSP side to avoid desyncsBilly Laws1-0/+15
Waiting on the host side is inaccurate and leads to desyncs in the event of the sink missing a deadline that require stalls to fix. By waiting for the sink to have space before even starting rendering such desyncs can be avoided.
2023-03-26audio: Interpolate system manager sample count using host sink sample infoBilly Laws1-0/+21
This avoids the need to stall if the host sink sporadically misses the deadline, in such a case the previous implementation would report them samples as being played on-time, causing the guest to send more samples and leading to a gradual buildup.
2023-02-14remove static from pointer sized or smaller types for aesthetics, change constexpr static to static constexpr for consistencyarades791-6/+6
Signed-off-by: arades79 <scravers@protonmail.com>
2023-02-14add static lifetime to constexpr values to force compile time evaluation where possiblearades791-6/+6
Signed-off-by: arades79 <scravers@protonmail.com>
2023-02-14general: rename CurrentProcess to ApplicationProcessLiam1-2/+2
2022-11-30audio_core: sink_stream: Hold the suspend lock when process is stalled.bunnei1-5/+6
- Prevents us from clashing with other callers trying to un/stall.
2022-11-23general: fix compile for Apple ClangLiam1-4/+4
2022-09-22Do not try to pause core timing from the audio thread when using single-coreKelebek11-2/+7
2022-09-13Remove pause callbacks from coretimingKelebek11-0/+16
2022-09-12Remove a pragma once from a cpp fileKelebek11-2/+0
2022-09-04Don't stall with nvdecKelebek11-1/+7
2022-09-02Rework audio output, connecting AudioOut into coretiming to fix desync during heavy loads.Kelebek11-0/+259