Commit graph

383 commits

Author SHA1 Message Date
Liam
e01c535178 oboe_sink: implement channel count querying 2023-12-17 10:10:14 -05:00
Liam
7239547ead android: add oboe audio sink 2023-12-17 01:42:59 -05:00
Liam
de594995da opus: fix stereo stream count check in multistream decoder object 2023-11-17 08:26:22 -05:00
Liam
ecaa038b4d audio_core: ignore renderer wait when stream is paused 2023-11-12 23:10:53 -05:00
Kelebek1
90aa937593 Convert files to LF eol 2023-11-04 18:25:40 +00:00
Kelebek1
a294beb116 Allow 0 stereo count 2023-11-03 11:45:40 -04:00
Liam
68ea0a2b72 audio: fix shutdown deadlock in audio renderer 2023-10-13 16:34:31 -04:00
Kelebek1
ec6ddaf766 Clear DSP buffer after each execution 2023-10-10 18:22:08 +01:00
Liam
0448eb6f0f ci: fix new codespell errors 2023-10-02 18:03:05 -04:00
liamwhite
d6cf54dd2f
Merge pull request #11520 from Kelebek1/estimated_time
Do not consider voice commands in time estimation, fix adpcm estimate
2023-09-18 09:30:56 -04:00
Kelebek1
5d7571114e Do not consider voice commands in time estimation, fix adpcm estimate 2023-09-18 10:38:14 +01:00
Kelebek1
67e2d5c28b Reimplement HardwareOpus 2023-09-16 11:56:25 -04:00
liamwhite
3df56dc790
Merge pull request #11465 from Kelebek1/skip_remaining_reset
[Audio] Do not reset the remaining command count each time
2023-09-10 13:40:32 -04:00
Kelebek1
800d6f7d0d Fix data source version 1 command looping 2023-09-08 15:03:21 +01:00
Kelebek1
4baaaf6a99 Do not reset the command buffer command count each time 2023-09-07 20:53:48 +01:00
liamwhite
69949e7964
Merge pull request #11428 from Kelebek1/adsp_rework
Rework ADSP into a wrapper for apps
2023-09-06 09:13:06 -04:00
Kelebek1
ebd19dec99 Rework ADSP into a wrapper for apps 2023-09-04 17:12:16 +01:00
Danila Malyutin
785e480b62 msvc: set warning level to /W4 globally
And fix a bunch of warnings
2023-09-03 18:42:10 +04:00
liamwhite
52c71e7eb6
Merge pull request #11408 from Kelebek1/fix_audio_node_id
[Audio] Fix node id index in DropVoices
2023-08-29 09:27:40 -04:00
Kelebek1
1d201c71dc Fix node id index in DropVoices 2023-08-28 10:35:30 +01:00
Liam
954144e22b audio: allow more latency in cubeb initialization 2023-08-27 12:46:01 -04:00
Kelebek1
39c8ddcda2 Pre-test opening a stream for audio backends, fall back to null if not suitable. 2023-08-23 08:33:26 +01:00
liamwhite
fca7d975fd
Merge pull request #10839 from lat9nq/pgc-plus
general: Reimplement per-game configurations
2023-08-02 14:25:52 -04:00
Kelebek1
70f37be9b9 Fix AudioRendererParameterInternal's size 2023-07-30 06:50:59 +01:00
lat9nq
04d4b6ab80 (ui,)settings: Use explicit instantiation
Reduces compile times a tad on clang.
2023-07-21 10:56:54 -04:00
lat9nq
d146dd9d12 settings,general: Rename non-confirming enums 2023-07-21 10:56:54 -04:00
lat9nq
432f68ad29 configure_audio: Implement ui generation
Needs a considerable amount of management specific to some of
the comoboboxes due to the audio engine configuration.

general: Partial audio config implmentation

configure_audio: Implement ui generation

Needs a considerable amount of management specific to some of
the comoboboxes due to the audio engine configuration.

general: Partial audio config implmentation

settings: Make audio settings as enums
2023-07-21 10:56:07 -04:00
Kelebek1
6f7cb69c94 Use spans over guest memory where possible instead of copying data. 2023-07-02 23:09:48 +01:00
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
bunnei
e3122c5b46
Merge pull request #10086 from Morph1984/coretiming-ng-1
core_timing: Use CNTPCT as the guest CPU tick
2023-06-21 21:12:46 -07:00
Liam
6c34adb1de nvnflinger: allow locking framerate during video playback 2023-06-08 01:15:51 -04: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
liamwhite
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
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
Kelebek1
2feb40f14d Wait for the terminate event before destroying a system instance 2023-05-01 00:27:12 +01: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
bunnei
6775a6ee02
Merge pull request #9969 from bylaws/master
Audio synchronisation improvements
2023-04-01 14:34:59 -07: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
Liam
41d99aa89d memory: rename global memory references to application memory 2023-03-23 20:28:47 -04:00