Morph
ea8d5ef5e8
sink_stream: Resolve heap buffer corruption due to out of bounds write
...
Also, remove the use of ScratchBuffer when upmixing, as other channels may not be initialized with zeroed out data.
2023-06-30 00:54:23 -04:00
Kelebek1
5da70f7197
Remove memory allocations in some hot paths
2023-06-22 08:05:10 +01:00
Morph
8e56a84566
core_timing: Use CNTPCT as the guest CPU tick
...
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-07 21:44:42 -04:00
bunnei
069d7e6be4
android: audio_core: sink_stream: Remove unnecessary check.
2023-06-05 21:47:36 -07:00
bunnei
cb95d7fe1b
Merge pull request #10508 from yuzu-emu/lime
...
Project Lime - yuzu Android Port
2023-06-05 21:43:43 -07:00
Liam
e96a3a1713
audio_renderer: resolve adsp thread deadlock shutdown
2023-06-04 13:00:10 -04:00
bunnei
40e938376b
android: audio_core: Avoid shutdown hang.
2023-06-03 00:06:06 -07:00
Kelebek1
9c2b211f12
Audren wait as suggested by ByLaws
2023-05-27 17:38:07 +01:00
Kelebek1
d75bcdd077
Smooth out the DSP callback by adding a 5ms wait time limit
2023-05-18 13:03:32 +01:00
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.
2023-05-05 03:48:28 -04:00
Billy Laws
8908663f12
Use GetGlobalTimeNs as opposed to clock ticks
2023-04-08 21:54:19 +01:00
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.
2023-04-03 23:11:36 +01:00
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.
2023-03-27 22:01:41 +01:00
Billy Laws
237934b736
Run clang-format
2023-03-27 22:01:41 +01:00
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.
2023-03-27 21:34:28 +01:00
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.
2023-03-26 22:48:57 +01:00
liamwhite
6d77de96da
Merge pull request #9796 from liamwhite/current
...
general: rename CurrentProcess to ApplicationProcess
2023-02-15 17:42:45 -05:00
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>
2023-02-14 12:35:39 -05:00
arades79
45e13b03f3
add static lifetime to constexpr values to force compile time evaluation where possible
...
Signed-off-by: arades79 <scravers@protonmail.com>
2023-02-14 12:33:11 -05:00
Liam
ceda2d280e
general: rename CurrentProcess to ApplicationProcess
2023-02-13 19:03:12 -05:00
Narr the Reg
7c0dcea96c
audio: cubeb: Fix yuzu crashing when it test for latency
2023-02-09 19:38:03 -06:00
liamwhite
22aff09b33
Merge pull request #9289 from liamwhite/fruit-company
...
general: fix compile for Apple Clang
2022-12-03 12:09:21 -05:00
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.
2022-11-29 20:32:06 -08:00
Liam
9737615948
general: fix compile for Apple Clang
2022-11-22 22:22:28 -05:00
lat9nq
4b773b15a6
sdl2_sink: Inline variable init into if condition
...
Co-authored-by: Mai <mathew1800@gmail.com>
2022-10-16 21:36:40 -04:00
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.
2022-10-16 03:15:54 -04:00
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.
2022-10-16 03:14:52 -04:00
Narr the Reg
d2170075e6
audio_core: Revert sink name to sdl2
2022-10-14 10:59:33 -05:00
Kelebek1
8c9e238a7b
Choose the SDL audio backend when Cubeb reports too high of a latency
2022-10-09 13:47:59 +01:00
Kelebek1
56b8a9ba6e
Do not try to pause core timing from the audio thread when using single-core
2022-09-22 01:23:57 +01:00
Lioncash
d5d6322640
sink_stream: Mark GetQueueSize as const
2022-09-16 10:00:52 -04:00
bunnei
e85bda5f31
Merge pull request #8878 from Kelebek1/remove_pause
...
Remove pause callbacks from coretiming
2022-09-15 13:50:13 -07:00
Lioncash
2c91fbf7f1
audio_core: Amend documentation tags
...
Resolves a wackload of -Wdocumentation warnings due to mismatching tags
and whatnot.
2022-09-15 09:47:23 -04:00
Kelebek1
e93e898df5
Remove pause callbacks from coretiming
2022-09-13 13:20:35 +01:00
Kelebek1
1deecc6f70
Remove a pragma once from a cpp file
2022-09-12 19:27:11 +01:00
Kelebek1
2129d040a5
Don't stall with nvdec
2022-09-04 05:41:06 +01:00
Kelebek1
ea9ff71725
Rework audio output, connecting AudioOut into coretiming to fix desync during heavy loads.
2022-09-02 04:43:04 +01:00
Kelebek1
85c9e31791
Do some log memes to help perceived volume
2022-08-12 19:59:09 +01:00
Kelebek1
458da8a948
Project Andio
2022-07-22 01:11:32 +01:00