aboutsummaryrefslogtreecommitdiff
path: root/src/audio_core
AgeCommit message (Collapse)Author
2023-05-27Audren wait as suggested by ByLawsKelebek1
2023-05-18Smooth out the DSP callback by adding a 5ms wait time limitKelebek1
2023-05-06Merge pull request #10162 from lat9nq/sdl-remove-oldliamwhite
yuzu-sdl,audio_core: Remove antiquated warning ignore
2023-05-05yuzu-sdl,audio_core: Remove antiquated warning ignorelat9nq
Issue was fixed a long time ago, both by SDL2 and in yuzu by including SDL2 as a system library.
2023-05-01Wait for the terminate event before destroying a system instanceKelebek1
2023-04-08Use GetGlobalTimeNs as opposed to clock ticksBilly Laws
2023-04-03Add some explicit latency to sample count reportingBilly Laws
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-04-01Merge pull request #9969 from bylaws/masterbunnei
Audio synchronisation improvements
2023-03-27audio_core: No longer stall when sink queue is fullBilly Laws
Now the audout and audren update rates are tied to the sink status stalling is no longer necessary.
2023-03-27Run clang-formatBilly Laws
2023-03-27audio: Wait for samples on the emulated DSP side to avoid desyncsBilly Laws
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 Laws
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-03-23memory: rename global memory references to application memoryLiam
2023-03-12general: fix spelling mistakesLiam
2023-03-10Merge pull request #9917 from Morph1984/the-real-timeliamwhite
native_clock: Re-adjust the RDTSC frequency to its real frequency
2023-03-07core: Promote CPU/GPU threads to time criticalMorph
And also demote Audren and CoreTiming to High thread priority.
2023-03-06hle: rename legacy errors to ResultsLiam
2023-03-02Fix a bug with the Reverb command in reading from the pre_delay line.Kelebek1
2023-02-16Merge pull request #9769 from Kelebek1/audio_oobbunnei
[audio_core] Fix depop prepare
2023-02-15Merge pull request #9796 from liamwhite/currentliamwhite
general: rename CurrentProcess to ApplicationProcess
2023-02-14remove static from pointer sized or smaller types for aesthetics, change ↵arades79
constexpr static to static constexpr for consistency Signed-off-by: arades79 <scravers@protonmail.com>
2023-02-14add static lifetime to constexpr values to force compile time evaluation ↵arades79
where possible Signed-off-by: arades79 <scravers@protonmail.com>
2023-02-13general: rename CurrentProcess to ApplicationProcessLiam
2023-02-13Fix biquad filter command's state buffer offsetKelebek1
2023-02-11Add fallback for memory read/write in case the address goes over a 4K pageKelebek1
2023-02-11Fix depop prepare receiving bad mix infos and writing out of bounds, and ↵Kelebek1
update aux a bit, may help
2023-02-10biquad_filter: Clamp f64 in ApplyBiquadFilterFloatMerry
2023-02-10biquad_filter: Fix rounding in ApplyBiquadFilterIntMerry
2023-02-09audio: cubeb: Fix yuzu crashing when it test for latencyNarr the Reg
2023-01-14upsample: Fix coefficient formatMerry
2023-01-14audio_core: Fix off-by-one error in upsamplerMerry
2022-12-28cmake: make cubeb and SDL2 optionalLiam
2022-12-16Signal buffer event on audio in/out system stop, and force remove all ↵Kelebek1
registered audio buffers
2022-12-10audio_core: remove explicitly defaulted and implicitly deleted constructorsLiam
2022-12-06cmake: use sdl2 imported targetAlexandre Bouvier
2022-12-04cmake: prefer system librariesAlexandre Bouvier
2022-12-03Merge pull request #9300 from ameerj/pchliamwhite
CMake: Use precompiled headers to improve compile times
2022-12-03Merge pull request #9289 from liamwhite/fruit-companyliamwhite
general: fix compile for Apple Clang
2022-11-30CMake: Consolidate common PCH headersameerj
2022-11-30Merge pull request #9320 from yuzu-emu/fix-audio-suspendFernando S
AudioCore: Take suspend lock when stalling the running process.
2022-11-29audio_core: sink_stream: Hold the suspend lock when process is stalled.bunnei
- Prevents us from clashing with other callers trying to un/stall.
2022-11-29CMake: Use precompiled headersameerj
2022-11-28CMake: Directly link to SDL2-static when appropriatelat9nq
Trying to be lazy and alias SDL2 to SDL2-static causes issues in later versions of CMake. Just use the same condition to tell which one to use.
2022-11-22general: fix compile for Apple ClangLiam
2022-11-22Use the maximum input index for samples buffer span size, not just the input ↵Kelebek1
count
2022-11-13Add break for default casesKyle Kienapfel
Visual Studio has an option to search all files in a solution, so I did a search in there for "default:" looking for any missing break statements. I've left out default statements that return something, and that throw something, even if via ThrowInvalidType. UNREACHABLE leads towards throw R_THROW macro leads towards a return
2022-11-09Initial ARM64 supportLiam
2022-10-26audio_in/out_system: Pass Initialize members by value where applicableLioncash
applet_resource_user_id isn't actually modified and is just assigned to a member variable, so this doesn't need to be a mutable reference. Similarly, the device name itself isn't modified and is only moved. We pass by value here, since we can still perform the move, but eliminate a sneaky set of calls that can unintentionally destroy the original string. Given how nested the calls are, it's good to get rid of this potential vector for a use-after-move bug.
2022-10-22general: Resolve -Wclass-memaccessMorph
2022-10-22general: Enforce C4800 everywhere except in video_coreMorph