Commit Graph

112 Commits (6306e54f45f11d503c85482d35dab996c887a5e1)

Author SHA1 Message Date
Lioncash 81a39181b0 audio_core/audio_renderer: Fix typo in AuxInfo member name 6 years ago
Markus Wick 2ba4d878e5 microprofile: Drop ReleaseActiveBuffer scope.
This was created with the unfinished resampling PR in mind.
As the resampling is now on the audio thread, we don't need to care about this here any more.
7 years ago
fearlessTobi 655694253a time_stretch: Switch to values of Citra 7 years ago
Weiyi Wang 12c365b549 cubeb_sink: ignore null-name device when selecting
We already ignore them on listing devices. We should do the same when selecting devices. This fix a crash when opening a specific device while there is a null device in the list
7 years ago
Lioncash 6d27614994
time_stretch: Remove unused m_channel_count member variable
This is only stored to, but never read from.
7 years ago
David Marcec a47c1c77e6 EffectOutStatus padding is now in hex 7 years ago
David Marcec ceef334c1c Fixups for softlock 7 years ago
David Marcec 2534af040e 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.
7 years ago
David Marcec 2de52e3af6 Fixed smo softlock 7 years ago
Lioncash 2f6a611311 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.
7 years ago
David Marcec c461188f51 Added audren:u#GetAudioRendererState 7 years ago
Subv 8ba21e28cf Logging: Change the TimeStretch::Process log from debug to trace level.
This function is called too many times and makes the debug logging basically unusable due to the spam.
7 years ago
Lioncash f7308a6c25 time_stretch: Remove unused <array> include
This isn't used within this header and isn't necessary.
7 years ago
Lioncash 2fd124bc93 stream: Replace includes with forward declarations where applicable
Avoids propagating includes in headers where it's not necessary to do
so.
7 years ago
Lioncash 1adbcd54fe 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.
7 years ago
bunnei 692e7cee4f
Merge pull request #1314 from lioncash/cast
audio_core/time_stretch: Silence truncation warnings in Process()
7 years ago
bunnei 59beb540ae
Merge pull request #1321 from lioncash/audio-shadow
cubeb_sink: Get rid of variable shadowing within CubebSink's constructor
7 years ago
bunnei 3476ba2aee
Merge pull request #1320 from lioncash/name
cubeb_sink: Correct context name in ListCubebSinkDevices()
7 years ago
fearlessTobi 63c2e32e20 Port #4182 from Citra: "Prefix all size_t with std::" 7 years ago
Lioncash fc669a97d4 cubeb_sink: Get rid of variable shadowing within CubebSink's constructor
The parameter of the lambda was shadowing the variable that was being
assigned to.
7 years ago
Lioncash b5218d9986 cubeb_sink: Correct context name in ListCubebSinkDevices()
This ain't Citra.
7 years ago
Lioncash 9969a5db1e audio_core/time_stretch: Silence truncation warnings in Process()
The SoundTouch API only accepts uint amount of samples.
7 years ago
bunnei 60899b80f0
Merge pull request #1298 from lioncash/view
audio_core/sink_details: Change std::string parameter into std::string_view
7 years ago
bunnei 926dd41587
Merge pull request #1163 from FearlessTobi/add-audio-stretching
audio_core: Add audio stretching support
7 years ago
MerryMage 957ddab679 audio_core: Flush stream when not playing anything 7 years ago
Lioncash bad035e9a3 audio_core/sink_details: Change std::string parameter into std::string_view
The given string is only ever used for lookup and comparison, so we can
just utilize a non-owning view to string data here
7 years ago
MerryMage 55af5bda55 cubeb_sink: Downsample arbitrary number of channels 7 years ago
MerryMage 1aa195a9c0 cubeb_sink: Perform audio stretching 7 years ago
MerryMage e51bd49f87 audio_core: Add audio stretcher 7 years ago
MerryMage 7e697ab7ff cubeb_sink: Hold last available value instead of writing zeros
This reduces clicking in output audio should we underrun.
7 years ago
MerryMage 6d9dd1dc6d cubeb_sink: Use RingBuffer 7 years ago
fearlessTobi a6efff8b02 Add audio stretching support 7 years ago
MerryMage a76f0d5d06 audio_renderer: Rename AudioOut instance to audio_out 7 years ago
Markus Wick 10bc725944 Update microprofile scopes.
Blame the subsystems which deserve the blame :)

The updated list is not complete, just the ones I've spotted on random sampling the stack trace.
7 years ago
Lioncash 0057a47e41 audio_core/filter: Add explicit cast to assignment in Process()
Previously this would cause warnings about implicit conversions to s16
from a double
7 years ago
bunnei f19b4fab5f
Merge pull request #1033 from MerryMage/interp
audio_core: Interpolate
7 years ago
MerryMage 01d199965a audio_renderer: samples_remaining counts frames, not samples 7 years ago
MerryMage 4b44b8b4fb audio_core: Interpolate 7 years ago
MerryMage 56300f2928 audio_core: Implement low-pass filter 7 years ago
MerryMage fcc5ffdfdd cubeb_sink: Protect queue with a mutex 7 years ago
David Marcec 094f6003e0 Pushed the requested sample rate instead of our fixed sample rate 7 years ago
David Marcec e5ee0afe6f 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
7 years ago
KAMiKAZOW 0f5c4615ae
Make building cubeb optional 7 years ago
bunnei b46df98e93 audio_core: Implement audren_u audio playback. 7 years ago
bunnei 1dee8ceda1 audio_core: Use s16 where possible for audio samples. 7 years ago
bunnei f1cb3903ac audio_core: Port codec code from Citra for ADPCM decoding. 7 years ago
bunnei 02fccc0940 cubeb_sink: Support variable sample_rate and num_channels. 7 years ago
bunnei 34b3f83498 audio_core: Sinks need unique names as well. 7 years ago
bunnei 9f846d3aa4 audio_core: Streams need unique names for CoreTiming. 7 years ago
bunnei b6d61abd78
Merge pull request #895 from lioncash/sink
sink_details: std::move std::function instances
7 years ago