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
Liam
35d3e7db2a
common: remove "yuzu:" prefix from thread names
3 years ago
Kelebek1
56b8a9ba6e
Do not try to pause core timing from the audio thread when using single-core
3 years ago
Lioncash
c891497b61
audio_renderer: Make GetCommandBuffer() take a u32
This function is only ever called with unsigned types, and all of the
other interface functions take session_id as a u32, so this makes the
class a little more consistent.
3 years ago
Lioncash
00616c7ad8
audio_manager: Forward declare result type
Moves the include into the cpp file to lessen header dependencies.
3 years ago
Lioncash
75d6fe3669
audio_manager: Remove redundant cast in ThreadFunc()
We can just use a local here to get rid of a second cast.
3 years ago
Lioncash
e48e22eb52
audio_manager: move std::functions in SetOutManager/SetInManager
Prevents unnecessary reallocations in the event the captured variables
are larger than the internal std::function buffer.
3 years ago
Lioncash
da0fd51642
audio_manager: Remove unused forward declarations
Allows us to get rid of some unnecessary forward declarations and
includes.
3 years ago
Lioncash
08d81e0bd8
audio_manager: Remove unused sessions_started member variable
This isn't used, so it can be removed.
3 years ago
Lioncash
b59b967280
audio_manager: Remove dependence on system state
This isn't used by the class, so this can be removed for the time being.
3 years ago