Commit Graph

22 Commits

Author SHA1 Message Date
David Marcec
578815daa0 Clang format 2019-07-13 01:49:32 +10:00
David Marcec
91a4e25428 Addressed issues 2019-07-13 01:35:40 +10:00
David Marcec
829f81dc59 "AudioRenderer" thread should have a unique name
Creating multiple "AudioRenderer" threads cause the previous thread to be overwritten. The thread will name be renamed to AudioRenderer-InstanceX, where X is the current instance number.
2019-07-13 01:22:08 +10:00
David Marcec
46a46c2aed addressed issue 2019-07-08 14:49:16 +10:00
David Marcec
0d164cdb52 audren: Only manage wave buffers with a size
We shouldn't be incrementing if wave buffers are empty. They are considered invalid/unused wave buffers.

This fixes the issue of certain sounds looping when they shouldn't
2019-07-01 21:20:23 +10:00
Lioncash
2a4e34bb72 core_timing: Convert core timing into a class
Gets rid of the largest set of mutable global state within the core.
This also paves a way for eliminating usages of GetInstance() on the
System class as a follow-up.

Note that no behavioral changes have been made, and this simply extracts
the functionality into a class. This also has the benefit of making
dependencies on the core timing functionality explicit within the
relevant interfaces.
2019-02-15 21:50:25 -05:00
Lioncash
f53205c91c audio_core: Convert LOG_CRITICAL + UNREACHABLE over to UNIMPLEMENTED/UNIMPLEMENTED_MSG
These two macros being used in tandem were used prior to the
introduction of UNIMPLEMENTED and UNIMPLEMENTED_MSG. This provides
equivalent behavior, just with less typing/reading involved.
2018-12-28 14:13:58 -05:00
heapo
155fd18f5e Avoid (expensive) audio interpolation when sample rates already match 2018-12-06 09:46:08 -08:00
Zach Hilman
9678539f79 core: Port all current usages of Event to Readable/WritableEvent 2018-11-29 08:45:41 -05:00
David Marcec
19cca3cf0f Fixups for softlock 2018-10-07 14:25:39 +11:00
David Marcec
cba2bf3238 Fixed missing return
Softlock explanation:
after effects are initialized in smo, nothing actually changes the state. It expects the state to always be initialized. With the previous testing, updating the states much like how we handle the memory pools continue to have the softlock(which is why I said it probably wasn't effects) after further examination it seems like effects need to be initialized but the state remains unchanged until further notice. For now, assertions are added for the aux buffers to see if they update, unable to check as I haven't gotten smo to actually update them yet.
2018-10-07 14:19:55 +11:00
David Marcec
890b1c9a2b Fixed smo softlock 2018-10-07 14:14:09 +11:00
Lioncash
92d5551a8a stream: Preserve enum class type in GetState()
Preserves the meaning/type-safetiness of the stream state instead of
making it an opaque u32. This makes it usable for other things outside
of the service HLE context.
2018-09-23 20:03:38 -04:00
David Marcec
b732d0dd8b Added audren:u#GetAudioRendererState 2018-09-23 22:32:01 +10:00
Lioncash
70dbe8bdf3 audio_renderer: Replace includes with forward declarations where applicable
Avoids including unnecessary headers within the audio_renderer.h header,
lessening the likelihood of needing to rebuild source files including
this header if they ever change.

Given std::vector allows forward declaring contained types, we can move
VoiceState to the cpp file and hide the implementation entirely.
2018-09-17 15:08:30 -04:00
fearlessTobi
ac0723e7be Port #4182 from Citra: "Prefix all size_t with std::" 2018-09-15 15:21:06 +02:00
MerryMage
26f69df010 audio_renderer: Rename AudioOut instance to audio_out 2018-09-08 16:50:12 +01:00
MerryMage
cadaf052f6 audio_renderer: samples_remaining counts frames, not samples 2018-08-13 11:26:50 +01:00
MerryMage
e681d234a0 audio_core: Interpolate 2018-08-13 11:26:50 +01:00
David Marcec
40dfb71fe8 Pushed the requested sample rate instead of our fixed sample rate 2018-08-12 14:58:36 +10:00
David Marcec
245a22c86f Added GetAudioRendererSampleRate, GetAudioRendererSampleCount & GetAudioRendererMixBufferCount
GetAudioRendererSampleRate is set as a "STUB" as a game could check if the sample rate it sent and the sample rate it wants don't match. Just a thought of something which could happen so keeping it as stub for the mean time
2018-08-12 14:46:12 +10:00
bunnei
ff1bd408ba audio_core: Implement audren_u audio playback. 2018-08-04 21:54:30 -04:00