lizzie
23bb909bc9
[audio_core] fix OOB copy when silencing channel on shutdown ( #3969 )
...
when shutting down the emulator will silence any remaining audio from the output buffer
however this is for some reason stored in an array instead of being a simple memset
additionally, said array can be small enough (`frame_size_bytes > silence.size()`) to cause a funky noise to play at the end
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3969
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
Reviewed-by: crueter <crueter@eden-emu.dev >
2026-05-31 02:38:26 +02:00
Maufeat
84e11a52ba
[audio] Fix release buffer for audio input ( #3336 )
...
fixes microphone release buffer and data. Tested with Let's Sing 2025
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3336
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Co-authored-by: Maufeat <sahyno1996@gmail.com >
Co-committed-by: Maufeat <sahyno1996@gmail.com >
2026-01-18 16:20:32 +01:00
MaranBr
e6850cbad5
[audio_core] Fix audio mute by removing minimum volume limit ( #3194 )
...
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3194
Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com >
Reviewed-by: Lizzie <lizzie@eden-emu.dev >
Co-authored-by: MaranBr <maranbr@outlook.com >
Co-committed-by: MaranBr <maranbr@outlook.com >
2025-12-27 01:17:20 +01:00
MaranBr
ac2287f261
[audio_core] Slightly increase audio latency ( #2944 )
...
This slightly increases audio latency to prevent audio skipping in some games, such as Super Mario Odyssey when playing videos.
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2944
Reviewed-by: Lizzie <lizzie@eden-emu.dev >
Co-authored-by: MaranBr <maranbr@outlook.com >
Co-committed-by: MaranBr <maranbr@outlook.com >
2025-11-04 00:23:03 +01:00
Caio Oliveira
903106c9b2
[audio_core] Decrease wait_for a little bit ( #2937 )
...
This fixes an audio problem on Steam Deck.
Signed-off-by: Caio Oliveira <caiooliveirafarias0@gmail.com >
Co-authored-by: MaranBr <maranbr@outlook.com >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2937
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
Co-authored-by: Caio Oliveira <caiooliveirafarias0@gmail.com >
Co-committed-by: Caio Oliveira <caiooliveirafarias0@gmail.com >
2025-11-02 22:44:17 +01:00
MaranBr
2d3ba3e5dd
[audio_core] Remove unused files and make audio rendering more safe ( #2903 )
...
This removes unused files left over in the project and makes audio rendering more safe to avoid any kind of desynchronization or muting.
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2903
Reviewed-by: Lizzie <lizzie@eden-emu.dev >
Reviewed-by: Maufeat <sahyno1996@gmail.com >
Co-authored-by: MaranBr <maranbr@outlook.com >
Co-committed-by: MaranBr <maranbr@outlook.com >
2025-10-31 18:00:35 +01:00
Ribbit
15becaa5a3
[Audio] Tighten sink queue back pressure ( #2840 )
...
Co-authored-by: Ribbit <ribbit@placeholder.com >
Co-authored-by: MaranBr <maranbr@outlook.com >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2840
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
Co-authored-by: Ribbit <ribbit@eden-emu.dev >
Co-committed-by: Ribbit <ribbit@eden-emu.dev >
2025-10-28 04:26:58 +01:00
lizzie
4834fec159
[audio] Fix BOTW by increasing ring-size ( #2822 )
...
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2822
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
Reviewed-by: Maufeat <sahyno1996@gmail.com >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-10-24 12:38:42 +02:00
lizzie
31463142e1
[audio] replace ReaderWriterQueue with the generic SPSC queue ( #2745 )
...
A bit overkill for something that is only used once in the source code - should rather pertain to the generic SPSC queue just to avoid redundant code. If anything should be vendored.
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2745
Reviewed-by: crueter <crueter@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-10-16 03:15:20 +02:00
lizzie
dfe10bc851
[common] use libc++ provided jthread instead of in-house one (which deadlocks on FBSD 14) ( #351 )
...
Needs test on our CI targets to see I didn't miss anything. Worried about android.
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/351
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-10-01 06:59:35 +02:00
lizzie
9d2681ecc9
[cmake] enable clang-cl and WoA builds ( #348 )
...
Compilation and CMake fixes for both Windows on ARM and clang-cl, meaning Windows can now be built on both MSVC and clang on both amd64 and aarch64.
Compiling on clang is *dramatically* faster so this should be useful for CI.
Co-authored-by: crueter <crueter@eden-emu.dev >
Co-authored-by: crueter <crueter@crueter.xyz >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/348
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Reviewed-by: crueter <crueter@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-09-09 20:47:49 +02:00
lizzie
9e0e31132a
[icc] fix intel c++ compiler errors ( #146 )
...
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/146
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-07-30 20:59:28 +02:00
FearlessTobi
4d55e58ee4
scope_exit: Make constexpr
...
Allows the use of the macro in constexpr-contexts.
Also avoids some potential problems when nesting braces inside it.
2024-02-19 16:00:46 +01:00
Liam
564cfe16bb
audio: skip coefficient normalization for downmix
2023-12-16 13:05:55 -05:00
Kelebek1
b490e69020
Have GetActiveChannelCount return the system channels instead of host device channels
2023-12-16 12:49:28 -05:00
Liam
c0e37fa65f
audio_core: ignore renderer wait when stream is paused
2023-11-12 23:10:53 -05:00
Liam
d881c9f326
audio: fix shutdown deadlock in audio renderer
2023-10-13 16:34:31 -04:00
Morph
885090dc13
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
c7430e51e3
Remove memory allocations in some hot paths
2023-06-22 08:05:10 +01:00
Morph
2856fadaa0
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
5b8f185151
android: audio_core: sink_stream: Remove unnecessary check.
2023-06-05 21:47:36 -07:00
bunnei
31ad92b287
Merge pull request #10508 from yuzu-emu/lime
...
Project Lime - yuzu Android Port
2023-06-05 21:43:43 -07:00
Liam
16bd50f9b4
audio_renderer: resolve adsp thread deadlock shutdown
2023-06-04 13:00:10 -04:00
bunnei
bbd4f9c722
android: audio_core: Avoid shutdown hang.
2023-06-03 00:06:06 -07:00
Kelebek1
29e1cdf7e1
Audren wait as suggested by ByLaws
2023-05-27 17:38:07 +01:00
Kelebek1
ba0d258a3f
Smooth out the DSP callback by adding a 5ms wait time limit
2023-05-18 13:03:32 +01:00
Billy Laws
6b2510c7c5
Use GetGlobalTimeNs as opposed to clock ticks
2023-04-08 21:54:19 +01:00
Billy Laws
5dbfd7861a
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
1794a33c52
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
91d14c0022
Run clang-format
2023-03-27 22:01:41 +01:00
Billy Laws
d3f0149af2
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
7e7ad78aaf
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
207fdfe57d
Merge pull request #9796 from liamwhite/current
...
general: rename CurrentProcess to ApplicationProcess
2023-02-15 17:42:45 -05:00
arades79
60a68839ee
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
adcef452e0
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
c68577384a
general: rename CurrentProcess to ApplicationProcess
2023-02-13 19:03:12 -05:00
liamwhite
e20c5a0b7f
Merge pull request #9289 from liamwhite/fruit-company
...
general: fix compile for Apple Clang
2022-12-03 12:09:21 -05:00
bunnei
9ac846fece
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
5a712bb51a
general: fix compile for Apple Clang
2022-11-22 22:22:28 -05:00
Kelebek1
c8f8b9e076
Do not try to pause core timing from the audio thread when using single-core
2022-09-22 01:23:57 +01:00
bunnei
ba667d9af0
Merge pull request #8878 from Kelebek1/remove_pause
...
Remove pause callbacks from coretiming
2022-09-15 13:50:13 -07:00
Kelebek1
c6d4071162
Remove pause callbacks from coretiming
2022-09-13 13:20:35 +01:00
Kelebek1
0c01ac7410
Remove a pragma once from a cpp file
2022-09-12 19:27:11 +01:00
Kelebek1
77a30f7286
Don't stall with nvdec
2022-09-04 05:41:06 +01:00
Kelebek1
c3e3874d8d
Rework audio output, connecting AudioOut into coretiming to fix desync during heavy loads.
2022-09-02 04:43:04 +01:00