Kelebek1
9c2b211f12
Audren wait as suggested by ByLaws
3 years ago
Kelebek1
d75bcdd077
Smooth out the DSP callback by adding a 5ms wait time limit
3 years ago
lat9nq
740c349820
yuzu-sdl,audio_core: Remove antiquated warning ignore
Issue was fixed a long time ago, both by SDL2 and in yuzu by including
SDL2 as a system library.
3 years ago
Kelebek1
2feb40f14d
Wait for the terminate event before destroying a system instance
3 years ago
Billy Laws
8908663f12
Use GetGlobalTimeNs as opposed to clock ticks
3 years ago
Billy Laws
0afb9631b5
Add some explicit latency to sample count reporting
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.
3 years ago
Billy Laws
530fe24768
audio_core: No longer stall when sink queue is full
Now the audout and audren update rates are tied to the sink status stalling is no longer necessary.
3 years ago
Billy Laws
237934b736
Run clang-format
3 years ago
Billy Laws
ea5dd02db9
audio: Wait for samples on the emulated DSP side to avoid desyncs
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.
3 years ago
Billy Laws
d8fc3f403b
audio: Interpolate system manager sample count using host sink sample info
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.
3 years ago
Liam
41d99aa89d
memory: rename global memory references to application memory
3 years ago
Liam
600f325d87
general: fix spelling mistakes
3 years ago
Morph
3053a62375
core: Promote CPU/GPU threads to time critical
And also demote Audren and CoreTiming to High thread priority.
3 years ago
Liam
1d0fe75e7c
hle: rename legacy errors to Results
3 years ago
Kelebek1
104cb6aa0a
Fix a bug with the Reverb command in reading from the pre_delay line.
3 years ago
arades79
683019878f
remove static from pointer sized or smaller types for aesthetics, change constexpr static to static constexpr for consistency
Signed-off-by: arades79 <scravers@protonmail.com>
3 years ago
arades79
45e13b03f3
add static lifetime to constexpr values to force compile time evaluation where possible
Signed-off-by: arades79 <scravers@protonmail.com>
3 years ago
Liam
ceda2d280e
general: rename CurrentProcess to ApplicationProcess
3 years ago
Kelebek1
3a90ed99be
Fix biquad filter command's state buffer offset
3 years ago
Kelebek1
2e02ed8bb5
Add fallback for memory read/write in case the address goes over a 4K page
3 years ago
Kelebek1
19e1ea6a02
Fix depop prepare receiving bad mix infos and writing out of bounds, and update aux a bit, may help
3 years ago
Merry
3c60bc36a1
biquad_filter: Clamp f64 in ApplyBiquadFilterFloat
3 years ago
Merry
9bdcb1070f
biquad_filter: Fix rounding in ApplyBiquadFilterInt
3 years ago
Narr the Reg
7c0dcea96c
audio: cubeb: Fix yuzu crashing when it test for latency
3 years ago
Merry
a0e8e5b22e
upsample: Fix coefficient format
3 years ago
Merry
122a8faa38
audio_core: Fix off-by-one error in upsampler
3 years ago
Liam
c18cf05a06
cmake: make cubeb and SDL2 optional
3 years ago
Kelebek1
6a56f42f5d
Signal buffer event on audio in/out system stop, and force remove all registered audio buffers
3 years ago
Liam
e532b74e11
audio_core: remove explicitly defaulted and implicitly deleted constructors
3 years ago
Alexandre Bouvier
e6ae720c33
cmake: use sdl2 imported target
3 years ago
Alexandre Bouvier
8e17b5469f
cmake: prefer system libraries
3 years ago
ameerj
5b5612c1cc
CMake: Consolidate common PCH headers
3 years ago
bunnei
8fd4e44014
audio_core: sink_stream: Hold the suspend lock when process is stalled.
- Prevents us from clashing with other callers trying to un/stall.
3 years ago
ameerj
37bc5118ea
CMake: Use precompiled headers
3 years ago
lat9nq
0941ae0b61
CMake: Directly link to SDL2-static when appropriate
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.
3 years ago
Liam
9737615948
general: fix compile for Apple Clang
3 years ago
Kelebek1
84d4da89a5
Use the maximum input index for samples buffer span size, not just the input count
3 years ago
Kyle Kienapfel
6fa3faec65
Add break for default cases
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
3 years ago
Liam
cbaf642ffe
Initial ARM64 support
3 years ago
Lioncash
e0ec9ffc36
audio_in/out_system: Pass Initialize members by value where applicable
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.
3 years ago
Morph
6908ea2284
general: Resolve -Wclass-memaccess
3 years ago
Morph
e6ab1f673b
general: Enforce C4800 everywhere except in video_core
3 years ago
Morph
93297d14d8
CMakeLists: Remove all redundant warnings
These are already explicitly or implicitly set in src/CMakeLists.txt
3 years ago
Kelebek1
7bd3930939
Update audio_core for firmware 15.0.0
3 years ago
lat9nq
4b773b15a6
sdl2_sink: Inline variable init into if condition
Co-authored-by: Mai <mathew1800@gmail.com>
3 years ago
lat9nq
9fe077635e
sdl2_sink: Distinguish between capture and non-capture device names
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.
3 years ago
lat9nq
5c7eef3756
sdl2_sink: Check for null string when loading SDL audio devices
Attempting to place a null string into a vector of strings causes an
error that closes the application.
Don't.
3 years ago
Narr the Reg
d2170075e6
audio_core: Revert sink name to sdl2
3 years ago
Liam
a9ace6856d
kernel: remove KWritableEvent
3 years ago
Kelebek1
8c9e238a7b
Choose the SDL audio backend when Cubeb reports too high of a latency
3 years ago