summaryrefslogtreecommitdiff
path: root/src/audio_core (follow)
Commit message (Collapse)AuthorAgeFilesLines
* EffectOutStatus padding is now in hexGravatar David Marcec2018-10-091-1/+1
|
* Fixups for softlockGravatar David Marcec2018-10-072-6/+7
|
* Fixed missing returnGravatar David Marcec2018-10-071-1/+1
| | | | | 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.
* Fixed smo softlockGravatar David Marcec2018-10-072-13/+120
|
* stream: Preserve enum class type in GetState()Gravatar Lioncash2018-09-234-11/+11
| | | | | | 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.
* Added audren:u#GetAudioRendererStateGravatar David Marcec2018-09-234-0/+13
|
* Logging: Change the TimeStretch::Process log from debug to trace level.Gravatar Subv2018-09-201-1/+1
| | | | This function is called too many times and makes the debug logging basically unusable due to the spam.
* time_stretch: Remove unused <array> includeGravatar Lioncash2018-09-171-1/+0
| | | | This isn't used within this header and isn't necessary.
* stream: Replace includes with forward declarations where applicableGravatar Lioncash2018-09-172-3/+7
| | | | | Avoids propagating includes in headers where it's not necessary to do so.
* audio_renderer: Replace includes with forward declarations where applicableGravatar Lioncash2018-09-172-39/+52
| | | | | | | | | 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.
* Merge pull request #1314 from lioncash/castGravatar bunnei2018-09-171-2/+2
|\ | | | | audio_core/time_stretch: Silence truncation warnings in Process()
| * audio_core/time_stretch: Silence truncation warnings in Process()Gravatar Lioncash2018-09-131-2/+2
| | | | | | | | The SoundTouch API only accepts uint amount of samples.
* | Merge pull request #1321 from lioncash/audio-shadowGravatar bunnei2018-09-171-4/+4
|\ \ | | | | | | cubeb_sink: Get rid of variable shadowing within CubebSink's constructor
| * | cubeb_sink: Get rid of variable shadowing within CubebSink's constructorGravatar Lioncash2018-09-141-4/+4
| |/ | | | | | | | | The parameter of the lambda was shadowing the variable that was being assigned to.
* | Merge pull request #1320 from lioncash/nameGravatar bunnei2018-09-171-1/+1
|\ \ | | | | | | cubeb_sink: Correct context name in ListCubebSinkDevices()
| * | cubeb_sink: Correct context name in ListCubebSinkDevices()Gravatar Lioncash2018-09-141-1/+1
| |/ | | | | | | This ain't Citra.
* / Port #4182 from Citra: "Prefix all size_t with std::"Gravatar fearlessTobi2018-09-1516-64/+67
|/
* Merge pull request #1298 from lioncash/viewGravatar bunnei2018-09-122-2/+4
|\ | | | | audio_core/sink_details: Change std::string parameter into std::string_view
| * audio_core/sink_details: Change std::string parameter into std::string_viewGravatar Lioncash2018-09-112-2/+4
| | | | | | | | | | The given string is only ever used for lookup and comparison, so we can just utilize a non-owning view to string data here
* | Merge pull request #1163 from FearlessTobi/add-audio-stretchingGravatar bunnei2018-09-127-49/+185
|\ \ | |/ |/| audio_core: Add audio stretching support
| * audio_core: Flush stream when not playing anythingGravatar MerryMage2018-09-126-0/+23
| |
| * cubeb_sink: Downsample arbitrary number of channelsGravatar MerryMage2018-09-091-10/+9
| |
| * cubeb_sink: Perform audio stretchingGravatar MerryMage2018-09-083-24/+26
| |
| * audio_core: Add audio stretcherGravatar MerryMage2018-09-083-0/+101
| |
| * cubeb_sink: Hold last available value instead of writing zerosGravatar MerryMage2018-09-081-5/+15
| | | | | | | | This reduces clicking in output audio should we underrun.
| * cubeb_sink: Use RingBufferGravatar MerryMage2018-09-081-40/+26
| |
| * Add audio stretching supportGravatar fearlessTobi2018-09-085-0/+15
| |
* | audio_renderer: Rename AudioOut instance to audio_outGravatar MerryMage2018-09-082-7/+7
|/
* Update microprofile scopes.Gravatar Markus Wick2018-09-041-0/+4
| | | | | | 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.
* audio_core/filter: Add explicit cast to assignment in Process()Gravatar Lioncash2018-08-211-1/+1
| | | | | Previously this would cause warnings about implicit conversions to s16 from a double
* Merge pull request #1033 from MerryMage/interpGravatar bunnei2018-08-137-3/+267
|\ | | | | audio_core: Interpolate
| * audio_renderer: samples_remaining counts frames, not samplesGravatar MerryMage2018-08-131-1/+1
| |
| * audio_core: InterpolateGravatar MerryMage2018-08-135-0/+121
| |
| * audio_core: Implement low-pass filterGravatar MerryMage2018-08-133-2/+145
| |
* | cubeb_sink: Protect queue with a mutexGravatar MerryMage2018-08-121-0/+6
|/
* Pushed the requested sample rate instead of our fixed sample rateGravatar David Marcec2018-08-121-1/+1
|
* Added GetAudioRendererSampleRate, GetAudioRendererSampleCount & ↵Gravatar David Marcec2018-08-122-1/+16
| | | | | | 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
* Make building cubeb optionalGravatar KAMiKAZOW2018-08-071-2/+2
|
* audio_core: Implement audren_u audio playback.Gravatar bunnei2018-08-043-0/+442
|
* audio_core: Use s16 where possible for audio samples.Gravatar bunnei2018-08-048-33/+24
|
* audio_core: Port codec code from Citra for ADPCM decoding.Gravatar bunnei2018-08-043-0/+123
|
* cubeb_sink: Support variable sample_rate and num_channels.Gravatar bunnei2018-08-041-15/+25
|
* audio_core: Sinks need unique names as well.Gravatar bunnei2018-08-045-9/+14
|
* audio_core: Streams need unique names for CoreTiming.Gravatar bunnei2018-08-044-9/+13
|
* Merge pull request #895 from lioncash/sinkGravatar bunnei2018-08-031-5/+8
|\ | | | | sink_details: std::move std::function instances
| * sink_details: Deduplicate long std::function repetitionGravatar Lioncash2018-08-011-4/+6
| | | | | | | | | | We can just use type aliases to avoid needing to write the same long type twice
| * sink_details: std::move std::function instancesGravatar Lioncash2018-08-011-1/+2
| | | | | | | | | | Given std::function is allowed to potentially allocate, these should be std::move'd to prevent potential reallocation (should that ever happen).
* | audio_out: Use Buffer::Tag alias in GetTagsAndReleaseBuffers()'s prototypeGravatar Lioncash2018-08-022-2/+2
|/ | | | | This makes the Buffer::Tag usage consistent with the Stream class's prototype of GetTagsAndReleaseBuffers().
* audio_core: Add configuration settings.Gravatar bunnei2018-07-312-9/+31
|
* audio_core: Implement Sink and SinkStream interfaces with cubeb.Gravatar bunnei2018-07-308-6/+261
|