lat9nq
7bc07195c5
audin_u: Return a buffer event in RegisterBufferEvent
...
Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
2021-09-15 16:38:12 -04:00
lat9nq
17b0955f9a
audin_u: stub Start, RegisterBufferEvent, AppendAudioInBufferAuto
...
This also moves IAudioIn's definition to the header.
Required for Splatoon 2 LAN play.
2021-09-15 15:52:09 -04:00
Kelebek1
b9f915e07a
Report 2 channels active. Fixes Tales of Vesperia's mono channel audio.
2021-07-06 18:52:49 +01:00
Kelebek1
b455043e45
Fix XC2/VOEZ crashing, add audio looping and a few misc fixes
2021-07-01 06:01:01 +01:00
Kelebek1
0857d6a3db
Decouple audio processing and run at variable rate
...
Currently, processing of audio samples is called from AudioRenderer's Update method, using a fixed 4 buffers to process the given samples. Games call Update at variable rates, depending on framerate and/or sample count, which causes inconsistency in audio processing. From what I've seen, 60 FPS games update every ~0.004s, but 30 FPS/160 sample games update somewhere between 0.02 and 0.04, 5-10x slower. Not enough samples get fed to the backend, leading to a lot of audio skipping.
This PR seeks to address this by de-coupling the audio consumption and the audio update. Update remains the same without calling for buffer queuing, and the consume now schedules itself to run based on the sample rate and count.
2021-06-27 15:58:07 +01:00
bunnei
36d581ec73
hle: service: hwopus: OpenHardwareOpusDecoderEx: Remove unused buffer size.
2021-06-26 00:38:08 -07:00
bunnei
3565e32f4d
hle: service: hwopus: Implement GetWorkBufferSizeEx and OpenHardwareOpusDecoderEx.
...
- This is used by the latest update of Doom Eternal.
2021-06-24 18:25:37 -07:00
Kelebek1
ba3af04da1
Implement audout GetAudioOutPlayedSampleCount
...
Used in Ninja Gaiden games.
2021-06-22 04:39:17 +01:00
Morph
a0e4c2e1fc
general: Replace RESULT_UNKNOWN with ResultUnknown
...
Transition to PascalCase for result names.
2021-06-02 00:39:27 -04:00
Morph
12c1766997
general: Replace RESULT_SUCCESS with ResultSuccess
...
Transition to PascalCase for result names.
2021-06-02 00:39:27 -04:00
Lioncash
9a07ed53eb
core: Make variable shadowing a compile-time error
...
Now that we have most of core free of shadowing, we can enable the
warning as an error to catch anything that may be remaining and also
eliminate this class of logic bug entirely.
2021-05-16 03:43:16 -04:00
bunnei
b9f543b29f
audren
2021-05-11 10:24:53 -07:00
bunnei
2e8d6fe9a0
hle: kernel: Migrate KReadableEvent and KWritableEvent to KAutoObject.
2021-05-05 16:40:51 -07:00
bunnei
ab704acab8
hle: kernel: Ensure all kernel objects with KAutoObject are properly created.
2021-05-05 16:40:51 -07:00
bunnei
addc0bf037
hle: kernel: Migrate KEvent to KAutoObject.
2021-05-05 16:40:50 -07:00
Lioncash
9e726a9250
service: Resolve cases of member field shadowing
...
Now all that remains is for kernel code to be 'shadow-free' and then
-Wshadow can be turned into an error.
2021-05-04 04:38:38 -04:00
german77
247b1c14d2
codecctl: Use proper names
2021-04-08 19:40:24 -06:00
german77
ec0e644fb0
audren_u: Use proper names
2021-04-08 19:40:24 -06:00
german77
8f1300cd31
audren_a: Use proper names
2021-04-08 19:40:24 -06:00
german77
6219da627b
audrec_u: Use proper names, update to 12.x
2021-04-08 19:40:24 -06:00
german77
5ce97bf0a0
audrec_a: Use proper names
2021-04-08 19:40:24 -06:00
german77
b059db74c5
audout_u: Use proper names
2021-04-08 19:40:24 -06:00
german77
c51d9e0b0a
audout_a: Use proper names
2021-04-08 19:40:24 -06:00
german77
d7f2078e7b
audin_u: Use proper names
2021-04-08 19:40:24 -06:00
german77
b6bbc0d483
audin_a: Use proper names
2021-04-08 19:40:24 -06:00
Morph
a2d40b8185
hwopus: Update to 12.x
2021-04-07 02:57:39 -04:00
bunnei
ff3c7c068b
hle: kernel: Reimplement KReadableEvent and KWritableEvent.
2021-02-05 14:03:32 -08:00
bunnei
3f942c01f0
hle: kernel: Rename WritableEvent to KWritableEvent.
2021-02-05 14:00:36 -08:00
bunnei
e86a7e3691
hle: kernel: Rename ReadableEvent to KReadableEvent.
2021-02-05 14:00:36 -08:00
Chloe Marcec
b2b95e96c1
audout: FlushAudioOutBuffers
...
Fixes Devil May Cry
2021-01-24 19:13:34 +11:00
ReinUsesLisp
f8650a9580
core: Silence Wclass-memaccess warnings
...
This requires making several types trivial and properly initialize
them whenever they are called.
2021-01-15 16:31:19 -03:00
bunnei
7d77a3f88f
hle: service: Acquire and release a lock on requests.
...
- This makes it such that we can safely access service members from CoreTiming thread.
2020-12-28 21:33:34 -08:00
Lioncash
1a954b2a59
service: Eliminate usages of the global system instance
...
Completely removes all usages of the global system instance within the
services code by passing in the using system instance to the services.
2020-11-26 20:03:11 -05:00
bunnei
3d592972dc
Revert "core: Fix clang build"
2020-10-20 19:07:39 -07:00
Lioncash
be1954e04c
core: Fix clang build
...
Recent changes to the build system that made more warnings be flagged as
errors caused building via clang to break.
Fixes #4795
2020-10-17 19:50:39 -04:00
bunnei
324029d4f9
Merge pull request #4310 from ogniK5377/apollo-1-prod
...
audio_core: Apollo Part 1, AudioRenderer refactor
2020-09-11 10:57:27 -04:00
Lioncash
b724a4d90c
General: Tidy up clang-format warnings part 2
2020-08-13 14:19:08 -04:00
Lioncash
b249e4e0ce
yuzu: Resolve C++20 deprecation warnings related to lambda captures
...
C++20 deprecates capturing the this pointer via the '=' capture.
Instead, we replace it or extend the capture specification.
2020-08-03 11:54:04 -04:00
David
9b75481755
ipc: Allow all trivially copyable objects to be passed directly into WriteBuffer ( #4465 )
...
* ipc: Allow all trivially copyable objects to be passed directly into WriteBuffer
With the support of C++20, we can use concepts to deduce if a type is an STL container or not.
* More agressive concept for stl containers
* Add -fconcepts
* Move to common namespace
* Add Common::IsBaseOf
2020-08-03 07:28:54 -04:00
David Marcec
380658c21d
audio_core: Apollo Part 1, AudioRenderer refactor
2020-07-25 12:39:34 +10:00
David Marcec
1276e425d2
marked stubs
2020-04-29 00:43:05 +10:00
David Marcec
fb51a655b8
Audin:u ListAudioIns, OpenAudioIn, ListAudioInsAuto, OpenAudioInAuto, ListAudioInsAutoFiltered, OpenAudioInProtocolSpecified
...
Closes #2874
2020-04-29 00:19:07 +10:00
bunnei
11e1629d89
Merge pull request #3744 from lioncash/table2
...
service: Update function tables
2020-04-26 04:15:47 -04:00
David
11c63ca969
audio_renderer: Preliminary BehaviorInfo ( #3736 )
...
* audio_renderer: Preliminary BehaviorInfo
* clang format
* Fixed IsRevisionSupported
* fixed IsValidRevision
* Fixed logic error & spelling errors & crash
* Addressed issues
2020-04-20 22:57:30 -04:00
Lioncash
99eaa2e6f2
service: Update function tables
...
Keeps the service function tables up to date.
Updated based off information on SwitchBrew.
2020-04-20 15:53:49 -04:00
FearlessTobi
6ce0f3575a
audren: Lower log level for RequestUpdateImpl to Debug
2020-04-20 18:44:41 +02:00
Lioncash
4d8a8a8033
service: Remove unused RequestParser instances
...
These aren't used, so they should be removed to reduce compilation
warnings.
2020-04-17 19:47:43 -04:00
bunnei
4caff51710
core: memory: Move to Core::Memory namespace.
...
- helpful to disambiguate Kernel::Memory namespace.
2020-04-17 00:59:28 -04:00
Lioncash
1c340c6efa
CMakeLists: Specify -Wextra on linux builds
...
Allows reporting more cases where logic errors may exist, such as
implicit fallthrough cases, etc.
We currently ignore unused parameters, since we currently have many
cases where this is intentional (virtual interfaces).
While we're at it, we can also tidy up any existing code that causes
warnings. This also uncovered a few bugs as well.
2020-04-15 21:33:46 -04:00
makigumo
926ea5a16d
update hwopus DecodeInterleaved for FW 7.0.0+
...
trivial change,
see https://switchbrew.org/wiki/Audio_services#IHardwareOpusDecoder
2020-02-11 18:41:04 +01:00