aboutsummaryrefslogtreecommitdiff
path: root/src/audio_core
AgeCommit message (Collapse)Author
2018-09-23stream: Preserve enum class type in GetState()Lioncash
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-23Added audren:u#GetAudioRendererStateDavid Marcec
2018-09-20Logging: Change the TimeStretch::Process log from debug to trace level.Subv
This function is called too many times and makes the debug logging basically unusable due to the spam.
2018-09-17time_stretch: Remove unused <array> includeLioncash
This isn't used within this header and isn't necessary.
2018-09-17stream: Replace includes with forward declarations where applicableLioncash
Avoids propagating includes in headers where it's not necessary to do so.
2018-09-17audio_renderer: Replace includes with forward declarations where applicableLioncash
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-17Merge pull request #1314 from lioncash/castbunnei
audio_core/time_stretch: Silence truncation warnings in Process()
2018-09-17Merge pull request #1321 from lioncash/audio-shadowbunnei
cubeb_sink: Get rid of variable shadowing within CubebSink's constructor
2018-09-17Merge pull request #1320 from lioncash/namebunnei
cubeb_sink: Correct context name in ListCubebSinkDevices()
2018-09-15Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi
2018-09-14cubeb_sink: Get rid of variable shadowing within CubebSink's constructorLioncash
The parameter of the lambda was shadowing the variable that was being assigned to.
2018-09-14cubeb_sink: Correct context name in ListCubebSinkDevices()Lioncash
This ain't Citra.
2018-09-13audio_core/time_stretch: Silence truncation warnings in Process()Lioncash
The SoundTouch API only accepts uint amount of samples.
2018-09-12Merge pull request #1298 from lioncash/viewbunnei
audio_core/sink_details: Change std::string parameter into std::string_view
2018-09-12Merge pull request #1163 from FearlessTobi/add-audio-stretchingbunnei
audio_core: Add audio stretching support
2018-09-12audio_core: Flush stream when not playing anythingMerryMage
2018-09-11audio_core/sink_details: Change std::string parameter into std::string_viewLioncash
The given string is only ever used for lookup and comparison, so we can just utilize a non-owning view to string data here
2018-09-09cubeb_sink: Downsample arbitrary number of channelsMerryMage
2018-09-08cubeb_sink: Perform audio stretchingMerryMage
2018-09-08audio_core: Add audio stretcherMerryMage
2018-09-08cubeb_sink: Hold last available value instead of writing zerosMerryMage
This reduces clicking in output audio should we underrun.
2018-09-08cubeb_sink: Use RingBufferMerryMage
2018-09-08Add audio stretching supportfearlessTobi
2018-09-08audio_renderer: Rename AudioOut instance to audio_outMerryMage
2018-09-04Update microprofile scopes.Markus Wick
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.
2018-08-21audio_core/filter: Add explicit cast to assignment in Process()Lioncash
Previously this would cause warnings about implicit conversions to s16 from a double
2018-08-13Merge pull request #1033 from MerryMage/interpbunnei
audio_core: Interpolate
2018-08-13audio_renderer: samples_remaining counts frames, not samplesMerryMage
2018-08-13audio_core: InterpolateMerryMage
2018-08-13audio_core: Implement low-pass filterMerryMage
2018-08-12cubeb_sink: Protect queue with a mutexMerryMage
2018-08-12Pushed the requested sample rate instead of our fixed sample rateDavid Marcec
2018-08-12Added GetAudioRendererSampleRate, GetAudioRendererSampleCount & ↵David Marcec
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-07Make building cubeb optionalKAMiKAZOW
2018-08-04audio_core: Implement audren_u audio playback.bunnei
2018-08-04audio_core: Use s16 where possible for audio samples.bunnei
2018-08-04audio_core: Port codec code from Citra for ADPCM decoding.bunnei
2018-08-04cubeb_sink: Support variable sample_rate and num_channels.bunnei
2018-08-04audio_core: Sinks need unique names as well.bunnei
2018-08-04audio_core: Streams need unique names for CoreTiming.bunnei
2018-08-03Merge pull request #895 from lioncash/sinkbunnei
sink_details: std::move std::function instances
2018-08-02audio_out: Use Buffer::Tag alias in GetTagsAndReleaseBuffers()'s prototypeLioncash
This makes the Buffer::Tag usage consistent with the Stream class's prototype of GetTagsAndReleaseBuffers().
2018-08-01sink_details: Deduplicate long std::function repetitionLioncash
We can just use type aliases to avoid needing to write the same long type twice
2018-08-01sink_details: std::move std::function instancesLioncash
Given std::function is allowed to potentially allocate, these should be std::move'd to prevent potential reallocation (should that ever happen).
2018-07-31audio_core: Add configuration settings.bunnei
2018-07-30audio_core: Implement Sink and SinkStream interfaces with cubeb.bunnei
2018-07-30audio_core: Add interfaces for Sink and SinkStream.bunnei
2018-07-30audio_core: Misc. improvements to stream/buffer/audio_out.bunnei
2018-07-27audio_core: Add initial code for keeping track of audout state.bunnei
2018-01-12Massive removal of unused modulesJames Rowe