aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service/audio
AgeCommit message (Collapse)Author
2022-12-14Revert "hle: service: audio: Use default service thread."bunnei
2022-12-04Merge pull request #9232 from bunnei/audio-default-threadliamwhite
hle: service: audio: Use default service thread.
2022-12-03Merge pull request #9289 from liamwhite/fruit-companyliamwhite
general: fix compile for Apple Clang
2022-11-23service: Make use of buffer element count helpersLioncash
2022-11-22general: fix compile for Apple ClangLiam
2022-11-11hle: service: audio: Use default service thread.bunnei
- This was arbitrarily added by me, and does not appear to be helpful.
2022-10-26audio_in/out_system: Pass Initialize members by value where applicableLioncash
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.
2022-10-19Update audio_core for firmware 15.0.0Kelebek1
2022-10-12kernel: remove KWritableEventLiam
2022-09-17Merge pull request #8915 from vonchenplus/opus_multi_streambunnei
core: implement HwOpus GetWorkBufferSizeForMultiStreamEx
2022-09-17core: implement HwOpus GetWorkBufferSizeForMultiStreamExFengChen
2022-09-15audio_device: Mark member functions as const where applicableLioncash
These member functions don't modify any internal state.
2022-09-15audio_device: Make AudioDeviceName constructor constexprLioncash
These are used as read-only arrays, so we can make the data read-only and available at compile-time. Now constructing an AudioDevice no longer needs to initialize some tables
2022-08-24Implement AudRenU:RequestUpdateAuto, and use C descriptors when B reports as ↵Kelebek1
empty.
2022-07-22Project AndioKelebek1
2022-06-26core: Replace all instances of ResultCode with Resultgerman77
2022-04-23general: Convert source file copyright comments over to SPDXMorph
This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-04-02hle: service: audio: Create a service thread where appropriate.bunnei
2022-01-21service/audio: Update audctl unknown function namesLioncash
2021-12-02general: Replace high_resolution_clock with steady_clockMorph
On some OSes, high_resolution_clock is an alias to system_clock and is not monotonic in nature. Replace this with steady_clock.
2021-11-03core: Remove unused includesameerj
2021-10-07service: Reduce header include overheadMorph
2021-10-01service: Replace service event creation with ServiceContext::CreateEventMorph
The service context helps to manage all created events and allows us to close them upon destruction.
2021-09-28Merge pull request #7018 from lat9nq/splat-stubsMorph
audin_u: stub Start, RegisterBufferEvent, AppendAudioInBufferAuto
2021-09-26service/audio: Update to 13.0.0german77
2021-09-15audin_u: Return a buffer event in RegisterBufferEventlat9nq
Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
2021-09-15audin_u: stub Start, RegisterBufferEvent, AppendAudioInBufferAutolat9nq
This also moves IAudioIn's definition to the header. Required for Splatoon 2 LAN play.
2021-07-06Report 2 channels active. Fixes Tales of Vesperia's mono channel audio.Kelebek1
2021-07-01Fix XC2/VOEZ crashing, add audio looping and a few misc fixesKelebek1
2021-06-27Decouple audio processing and run at variable rateKelebek1
Currently, processing of audio samples is called from AudioRenderer's Update method, using a fixed 4 buffers to process the given samples. Games call Update at variable rates, depending on framerate and/or sample count, which causes inconsistency in audio processing. From what I've seen, 60 FPS games update every ~0.004s, but 30 FPS/160 sample games update somewhere between 0.02 and 0.04, 5-10x slower. Not enough samples get fed to the backend, leading to a lot of audio skipping. This PR seeks to address this by de-coupling the audio consumption and the audio update. Update remains the same without calling for buffer queuing, and the consume now schedules itself to run based on the sample rate and count.
2021-06-26hle: service: hwopus: OpenHardwareOpusDecoderEx: Remove unused buffer size.bunnei
2021-06-24hle: service: hwopus: Implement GetWorkBufferSizeEx and ↵bunnei
OpenHardwareOpusDecoderEx. - This is used by the latest update of Doom Eternal.
2021-06-22Implement audout GetAudioOutPlayedSampleCountKelebek1
Used in Ninja Gaiden games.
2021-06-02general: Replace RESULT_UNKNOWN with ResultUnknownMorph
Transition to PascalCase for result names.
2021-06-02general: Replace RESULT_SUCCESS with ResultSuccessMorph
Transition to PascalCase for result names.
2021-05-16core: Make variable shadowing a compile-time errorLioncash
Now that we have most of core free of shadowing, we can enable the warning as an error to catch anything that may be remaining and also eliminate this class of logic bug entirely.
2021-05-11audrenbunnei
2021-05-05hle: kernel: Migrate KReadableEvent and KWritableEvent to KAutoObject.bunnei
2021-05-05hle: kernel: Ensure all kernel objects with KAutoObject are properly created.bunnei
2021-05-05hle: kernel: Migrate KEvent to KAutoObject.bunnei
2021-05-04service: Resolve cases of member field shadowingLioncash
Now all that remains is for kernel code to be 'shadow-free' and then -Wshadow can be turned into an error.
2021-04-08codecctl: Use proper namesgerman77
2021-04-08audren_u: Use proper namesgerman77
2021-04-08audren_a: Use proper namesgerman77
2021-04-08audrec_u: Use proper names, update to 12.xgerman77
2021-04-08audrec_a: Use proper namesgerman77
2021-04-08audout_u: Use proper namesgerman77
2021-04-08audout_a: Use proper namesgerman77
2021-04-08audin_u: Use proper namesgerman77
2021-04-08audin_a: Use proper namesgerman77