summaryrefslogtreecommitdiffstats
path: root/src/audio_core/sink (follow)
Commit message (Collapse)AuthorAgeFilesLines
* sink_stream: Resolve heap buffer corruption due to out of bounds writeMorph2023-06-302-17/+20
| | | | Also, remove the use of ScratchBuffer when upmixing, as other channels may not be initialized with zeroed out data.
* Remove memory allocations in some hot pathsKelebek12023-06-223-9/+13
|
* core_timing: Use CNTPCT as the guest CPU tickMorph2023-06-081-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.
* android: audio_core: sink_stream: Remove unnecessary check.bunnei2023-06-061-3/+0
|
* Merge pull request #10508 from yuzu-emu/limebunnei2023-06-061-0/+3
|\ | | | | Project Lime - yuzu Android Port
| * android: audio_core: Avoid shutdown hang.bunnei2023-06-031-0/+3
| |
* | audio_renderer: resolve adsp thread deadlock shutdownLiam2023-06-042-4/+6
|/
* Audren wait as suggested by ByLawsKelebek12023-05-271-0/+3
|
* Smooth out the DSP callback by adding a 5ms wait time limitKelebek12023-05-181-2/+2
|
* yuzu-sdl,audio_core: Remove antiquated warning ignorelat9nq2023-05-051-10/+1
| | | | | Issue was fixed a long time ago, both by SDL2 and in yuzu by including SDL2 as a system library.
* Use GetGlobalTimeNs as opposed to clock ticksBilly Laws2023-04-082-4/+3
|
* Add some explicit latency to sample count reportingBilly Laws2023-04-041-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.
* audio_core: No longer stall when sink queue is fullBilly Laws2023-03-274-64/+1
| | | | Now the audout and audren update rates are tied to the sink status stalling is no longer necessary.
* Run clang-formatBilly Laws2023-03-272-6/+5
|
* audio: Wait for samples on the emulated DSP side to avoid desyncsBilly Laws2023-03-272-0/+24
| | | | 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.
* audio: Interpolate system manager sample count using host sink sample infoBilly Laws2023-03-262-0/+38
| | | | 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.
* Merge pull request #9796 from liamwhite/currentliamwhite2023-02-151-2/+2
|\ | | | | general: rename CurrentProcess to ApplicationProcess
| * general: rename CurrentProcess to ApplicationProcessLiam2023-02-141-2/+2
| |
* | remove static from pointer sized or smaller types for aesthetics, change constexpr static to static constexpr for consistencyarades792023-02-141-6/+6
| | | | | | | | Signed-off-by: arades79 <scravers@protonmail.com>
* | add static lifetime to constexpr values to force compile time evaluation where possiblearades792023-02-141-6/+6
|/ | | | Signed-off-by: arades79 <scravers@protonmail.com>
* audio: cubeb: Fix yuzu crashing when it test for latencyNarr the Reg2023-02-101-0/+20
|
* Merge pull request #9289 from liamwhite/fruit-companyliamwhite2022-12-031-4/+4
|\ | | | | general: fix compile for Apple Clang
| * general: fix compile for Apple ClangLiam2022-11-231-4/+4
| |
* | audio_core: sink_stream: Hold the suspend lock when process is stalled.bunnei2022-11-302-7/+9
|/ | | | - Prevents us from clashing with other callers trying to un/stall.
* sdl2_sink: Inline variable init into if conditionlat9nq2022-10-171-2/+1
| | | | Co-authored-by: Mai <mathew1800@gmail.com>
* sdl2_sink: Distinguish between capture and non-capture device nameslat9nq2022-10-161-1/+1
| | | | | | | | The function prototype appears to care whether we are loading capture devices or not, and SDL_GetAudioDeviceName has a parameter to use it, but for some reason it isn't. This puts `capture` where it goes.
* sdl2_sink: Check for null string when loading SDL audio deviceslat9nq2022-10-161-1/+4
| | | | | | | Attempting to place a null string into a vector of strings causes an error that closes the application. Don't.
* audio_core: Revert sink name to sdl2Narr the Reg2022-10-141-2/+2
|
* Choose the SDL audio backend when Cubeb reports too high of a latencyKelebek12022-10-096-30/+93
|
* Do not try to pause core timing from the audio thread when using single-coreKelebek12022-09-221-2/+7
|
* sink_stream: Mark GetQueueSize as constLioncash2022-09-161-1/+1
|
* Merge pull request #8878 from Kelebek1/remove_pausebunnei2022-09-158-83/+28
|\ | | | | Remove pause callbacks from coretiming
| * Remove pause callbacks from coretimingKelebek12022-09-138-83/+28
| |
* | audio_core: Amend documentation tagsLioncash2022-09-154-9/+6
| | | | | | | | | | Resolves a wackload of -Wdocumentation warnings due to mismatching tags and whatnot.
* | Remove a pragma once from a cpp fileKelebek12022-09-121-2/+0
|/
* Don't stall with nvdecKelebek12022-09-041-1/+7
|
* Rework audio output, connecting AudioOut into coretiming to fix desync during heavy loads.Kelebek12022-09-029-748/+440
|
* Do some log memes to help perceived volumeKelebek12022-08-121-0/+3
|
* Project AndioKelebek12022-07-229-0/+1934