summaryrefslogtreecommitdiff
path: root/src/audio_core (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Use GetGlobalTimeNs as opposed to clock ticksGravatar Billy Laws2023-04-082-4/+3
|
* Add some explicit latency to sample count reportingGravatar Billy Laws2023-04-031-1/+2
| | | | Some games have very tight scheduling requirements for their audio which can't really be matched on the host, adding a constant to the reported value helps to provide some leeway.
* Merge pull request #9969 from bylaws/masterGravatar bunnei2023-04-019-79/+55
|\ | | | | Audio synchronisation improvements
| * audio_core: No longer stall when sink queue is fullGravatar Billy Laws2023-03-274-64/+1
| | | | | | | | Now the audout and audren update rates are tied to the sink status stalling is no longer necessary.
| * Run clang-formatGravatar Billy Laws2023-03-273-7/+6
| |
| * audio: Wait for samples on the emulated DSP side to avoid desyncsGravatar Billy Laws2023-03-276-24/+28
| | | | | | | | Waiting on the host side is inaccurate and leads to desyncs in the event of the sink missing a deadline that require stalls to fix. By waiting for the sink to have space before even starting rendering such desyncs can be avoided.
| * audio: Interpolate system manager sample count using host sink sample infoGravatar Billy Laws2023-03-264-3/+39
| | | | | | | | This avoids the need to stall if the host sink sporadically misses the deadline, in such a case the previous implementation would report them samples as being played on-time, causing the guest to send more samples and leading to a gradual buildup.
* | memory: rename global memory references to application memoryGravatar Liam2023-03-234-6/+5
|/
* general: fix spelling mistakesGravatar Liam2023-03-1216-27/+27
|
* Merge pull request #9917 from Morph1984/the-real-timeGravatar liamwhite2023-03-101-1/+1
|\ | | | | native_clock: Re-adjust the RDTSC frequency to its real frequency
| * core: Promote CPU/GPU threads to time criticalGravatar Morph2023-03-071-1/+1
| | | | | | | | And also demote Audren and CoreTiming to High thread priority.
* | hle: rename legacy errors to ResultsGravatar Liam2023-03-0613-64/+64
|/
* Fix a bug with the Reverb command in reading from the pre_delay line.Gravatar Kelebek12023-03-023-6/+8
|
* Merge pull request #9769 from Kelebek1/audio_oobGravatar bunnei2023-02-162-40/+92
|\ | | | | [audio_core] Fix depop prepare
| * Add fallback for memory read/write in case the address goes over a 4K pageGravatar Kelebek12023-02-111-12/+64
| |
| * Fix depop prepare receiving bad mix infos and writing out of bounds, and ↵Gravatar Kelebek12023-02-112-40/+40
| | | | | | | | update aux a bit, may help
* | Merge pull request #9796 from liamwhite/currentGravatar liamwhite2023-02-152-3/+3
|\ \ | | | | | | general: rename CurrentProcess to ApplicationProcess
| * | general: rename CurrentProcess to ApplicationProcessGravatar Liam2023-02-132-3/+3
| | |
* | | remove static from pointer sized or smaller types for aesthetics, change ↵Gravatar arades792023-02-1412-39/+39
| | | | | | | | | | | | | | | | | | constexpr static to static constexpr for consistency Signed-off-by: arades79 <scravers@protonmail.com>
* | | add static lifetime to constexpr values to force compile time evaluation ↵Gravatar arades792023-02-1412-39/+39
| | | | | | | | | | | | | | | | | | where possible Signed-off-by: arades79 <scravers@protonmail.com>
* | | Fix biquad filter command's state buffer offsetGravatar Kelebek12023-02-131-2/+2
|/ /
* | biquad_filter: Clamp f64 in ApplyBiquadFilterFloatGravatar Merry2023-02-101-3/+3
| |
* | biquad_filter: Fix rounding in ApplyBiquadFilterIntGravatar Merry2023-02-102-24/+16
|/
* audio: cubeb: Fix yuzu crashing when it test for latencyGravatar Narr the Reg2023-02-091-0/+20
|
* upsample: Fix coefficient formatGravatar Merry2023-01-141-26/+26
|
* audio_core: Fix off-by-one error in upsamplerGravatar Merry2023-01-141-33/+12
|
* cmake: make cubeb and SDL2 optionalGravatar Liam2022-12-281-6/+13
|
* Signal buffer event on audio in/out system stop, and force remove all ↵Gravatar Kelebek12022-12-165-7/+26
| | | | registered audio buffers
* audio_core: remove explicitly defaulted and implicitly deleted constructorsGravatar Liam2022-12-102-2/+0
|
* cmake: use sdl2 imported targetGravatar Alexandre Bouvier2022-12-061-5/+1
|
* cmake: prefer system librariesGravatar Alexandre Bouvier2022-12-041-2/+2
|
* Merge pull request #9300 from ameerj/pchGravatar liamwhite2022-12-032-0/+11
|\ | | | | CMake: Use precompiled headers to improve compile times
| * CMake: Consolidate common PCH headersGravatar ameerj2022-11-301-7/+1
| |
| * CMake: Use precompiled headersGravatar ameerj2022-11-292-0/+17
| |
* | Merge pull request #9289 from liamwhite/fruit-companyGravatar liamwhite2022-12-039-4/+14
|\ \ | | | | | | general: fix compile for Apple Clang
| * | general: fix compile for Apple ClangGravatar Liam2022-11-229-4/+14
| | |
* | | Merge pull request #9320 from yuzu-emu/fix-audio-suspendGravatar Fernando S2022-11-302-7/+9
|\ \ \ | | | | | | | | AudioCore: Take suspend lock when stalling the running process.
| * | | audio_core: sink_stream: Hold the suspend lock when process is stalled.Gravatar bunnei2022-11-292-7/+9
| |/ / | | | | | | | | | - Prevents us from clashing with other callers trying to un/stall.
* | / CMake: Directly link to SDL2-static when appropriateGravatar lat9nq2022-11-281-1/+5
| |/ |/| | | | | | | Trying to be lazy and alias SDL2 to SDL2-static causes issues in later versions of CMake. Just use the same condition to tell which one to use.
* | Use the maximum input index for samples buffer span size, not just the input ↵Gravatar Kelebek12022-11-221-6/+8
|/ | | | count
* Add break for default casesGravatar Kyle Kienapfel2022-11-131-0/+1
| | | | | | | | | | | Visual Studio has an option to search all files in a solution, so I did a search in there for "default:" looking for any missing break statements. I've left out default statements that return something, and that throw something, even if via ThrowInvalidType. UNREACHABLE leads towards throw R_THROW macro leads towards a return
* Initial ARM64 supportGravatar Liam2022-11-091-1/+1
|
* audio_in/out_system: Pass Initialize members by value where applicableGravatar Lioncash2022-10-264-6/+6
| | | | | | | | | | | applet_resource_user_id isn't actually modified and is just assigned to a member variable, so this doesn't need to be a mutable reference. Similarly, the device name itself isn't modified and is only moved. We pass by value here, since we can still perform the move, but eliminate a sneaky set of calls that can unintentionally destroy the original string. Given how nested the calls are, it's good to get rid of this potential vector for a use-after-move bug.
* general: Resolve -Wclass-memaccessGravatar Morph2022-10-223-3/+3
|
* general: Enforce C4800 everywhere except in video_coreGravatar Morph2022-10-221-0/+1
|
* CMakeLists: Remove all redundant warningsGravatar Morph2022-10-221-10/+0
| | | | These are already explicitly or implicitly set in src/CMakeLists.txt
* Update audio_core for firmware 15.0.0Gravatar Kelebek12022-10-193-33/+72
|
* sdl2_sink: Inline variable init into if conditionGravatar lat9nq2022-10-161-2/+1
| | | | Co-authored-by: Mai <mathew1800@gmail.com>
* sdl2_sink: Distinguish between capture and non-capture device namesGravatar lat9nq2022-10-161-1/+1
| | | | | | | | The function prototype appears to care whether we are loading capture devices or not, and SDL_GetAudioDeviceName has a parameter to use it, but for some reason it isn't. This puts `capture` where it goes.
* sdl2_sink: Check for null string when loading SDL audio devicesGravatar lat9nq2022-10-161-1/+4
| | | | | | | Attempting to place a null string into a vector of strings causes an error that closes the application. Don't.