9c2b211f12
Audren wait as suggested by ByLaws
2023-05-27 17:38:07 +01:00
d75bcdd077
Smooth out the DSP callback by adding a 5ms wait time limit
2023-05-18 13:03:32 +01:00
27ff00acb1
Merge pull request #10162 from lat9nq/sdl-remove-old
...
yuzu-sdl,audio_core: Remove antiquated warning ignore
2023-05-06 23:10:09 -04:00
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
2feb40f14d
Wait for the terminate event before destroying a system instance
2023-05-01 00:27:12 +01:00
8908663f12
Use GetGlobalTimeNs as opposed to clock ticks
2023-04-08 21:54:19 +01:00
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
6775a6ee02
Merge pull request #9969 from bylaws/master
...
Audio synchronisation improvements
2023-04-01 14:34:59 -07:00
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
237934b736
Run clang-format
2023-03-27 22:01:41 +01:00
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
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
41d99aa89d
memory: rename global memory references to application memory
2023-03-23 20:28:47 -04:00
600f325d87
general: fix spelling mistakes
2023-03-12 11:33:01 -04:00
021af4fd00
Merge pull request #9917 from Morph1984/the-real-time
...
native_clock: Re-adjust the RDTSC frequency to its real frequency
2023-03-10 13:55:11 -05:00
3053a62375
core: Promote CPU/GPU threads to time critical
...
And also demote Audren and CoreTiming to High thread priority.
2023-03-07 21:17:46 -05:00
1d0fe75e7c
hle: rename legacy errors to Results
2023-03-06 20:58:42 -05:00
104cb6aa0a
Fix a bug with the Reverb command in reading from the pre_delay line.
2023-03-02 06:00:55 +00:00
744434de38
Merge pull request #9769 from Kelebek1/audio_oob
...
[audio_core] Fix depop prepare
2023-02-16 12:26:23 -08:00
6d77de96da
Merge pull request #9796 from liamwhite/current
...
general: rename CurrentProcess to ApplicationProcess
2023-02-15 17:42:45 -05:00
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
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
ceda2d280e
general: rename CurrentProcess to ApplicationProcess
2023-02-13 19:03:12 -05:00
3a90ed99be
Fix biquad filter command's state buffer offset
2023-02-13 16:21:29 +00:00
2e02ed8bb5
Add fallback for memory read/write in case the address goes over a 4K page
2023-02-11 16:27:43 +00:00
19e1ea6a02
Fix depop prepare receiving bad mix infos and writing out of bounds, and update aux a bit, may help
2023-02-11 10:21:25 +00:00
3c60bc36a1
biquad_filter: Clamp f64 in ApplyBiquadFilterFloat
2023-02-10 20:43:34 +00:00
9bdcb1070f
biquad_filter: Fix rounding in ApplyBiquadFilterInt
2023-02-10 20:34:52 +00:00
7c0dcea96c
audio: cubeb: Fix yuzu crashing when it test for latency
2023-02-09 19:38:03 -06:00
a0e8e5b22e
upsample: Fix coefficient format
2023-01-14 17:09:03 +00:00
122a8faa38
audio_core: Fix off-by-one error in upsampler
2023-01-14 15:19:11 +00:00
c18cf05a06
cmake: make cubeb and SDL2 optional
2022-12-28 17:29:32 -05:00
6a56f42f5d
Signal buffer event on audio in/out system stop, and force remove all registered audio buffers
2022-12-16 16:07:24 +00:00
e532b74e11
audio_core: remove explicitly defaulted and implicitly deleted constructors
2022-12-10 13:05:15 -05:00
e6ae720c33
cmake: use sdl2 imported target
2022-12-06 01:26:30 +01:00
8e17b5469f
cmake: prefer system libraries
2022-12-04 17:09:25 +01:00
75e16547f8
Merge pull request #9300 from ameerj/pch
...
CMake: Use precompiled headers to improve compile times
2022-12-03 14:10:06 -05:00
22aff09b33
Merge pull request #9289 from liamwhite/fruit-company
...
general: fix compile for Apple Clang
2022-12-03 12:09:21 -05:00
5b5612c1cc
CMake: Consolidate common PCH headers
2022-11-30 18:30:30 -05:00
4e89979c87
Merge pull request #9320 from yuzu-emu/fix-audio-suspend
...
AudioCore: Take suspend lock when stalling the running process.
2022-11-30 16:41:32 +01:00
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
37bc5118ea
CMake: Use precompiled headers
2022-11-29 18:50:49 -05:00
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.
2022-11-28 23:21:14 -05:00
9737615948
general: fix compile for Apple Clang
2022-11-22 22:22:28 -05:00
84d4da89a5
Use the maximum input index for samples buffer span size, not just the input count
2022-11-22 15:32:11 +00:00
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
2022-11-13 16:30:55 -08:00
cbaf642ffe
Initial ARM64 support
2022-11-09 16:58:49 -05:00
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.
2022-10-26 11:21:48 -04:00
6908ea2284
general: Resolve -Wclass-memaccess
2022-10-22 15:02:04 -04:00
e6ab1f673b
general: Enforce C4800 everywhere except in video_core
2022-10-22 15:02:04 -04:00