aboutsummaryrefslogtreecommitdiff
path: root/src/audio_core
AgeCommit message (Collapse)Author
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
2018-01-08CoreTiming: Reworked CoreTiming (cherry-picked from Citra #3119)B3n30
* CoreTiming: New CoreTiming; Add Test for CoreTiming
2018-01-07audio: Log dropping frames as trace to reduce spam.bunnei
2017-09-30Fixed type conversion ambiguityHuw Pascoe
2017-09-25Audio: Use std::deque instead of std::vector for the audio buffer type ↵Subv
(StereoBuffer16). The current code inserts and deletes elements from the beginning of the audio buffer, which is very inefficient in an std::vector. Profiling was done using VisualStudio2017's Performance Analyzer in Super Mario 3D Land. Before this change: AudioInterp::Linear had 14.14% of the runtime (inclusive) and most of that time was spent in std::vector's insert implementation. After this change: AudioInterp::Linear has 0.36% of the runtime (inclusive)
2017-08-28interpolate: Interpolate on a frame-by-frame basisMerryMage
2017-05-27CMake: Add SoundTouch include path to target propertyYuri Kunde Schlesner
2017-05-27CMake: Define an interface target for SDL2 definitionsYuri Kunde Schlesner