aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service/audio/audout_u.cpp
AgeCommit message (Collapse)Author
2024-02-20audio: rewrite IAudioOutManagerLiam
2024-02-20audio: rewrite IAudioOutLiam
2024-01-12audio: fetch process object from handle tableLiam
2023-09-04Rework ADSP into a wrapper for appsKelebek1
2023-06-30general: Use ScratchBuffer where possibleMorph
2023-06-22Remove memory allocations in some hot pathsKelebek1
2023-04-16core: audio: return result when audio_out initialize failedFengChen
2023-03-01service: move hle_ipc from kernelLiam
2023-02-21service: refactor server architectureLiam
Converts services to have their own processes
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-11-23service: Make use of buffer element count helpersLioncash
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-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-07-22Project AndioKelebek1
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
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-06-22Implement audout GetAudioOutPlayedSampleCountKelebek1
Used in Ninja Gaiden games.
2021-06-02general: Replace RESULT_SUCCESS with ResultSuccessMorph
Transition to PascalCase for result names.
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-04-08audout_u: Use proper namesgerman77
2021-02-05hle: kernel: Reimplement KReadableEvent and KWritableEvent.bunnei
2021-02-05hle: kernel: Rename WritableEvent to KWritableEvent.bunnei
2021-02-05hle: kernel: Rename ReadableEvent to KReadableEvent.bunnei
2021-01-24audout: FlushAudioOutBuffersChloe Marcec
Fixes Devil May Cry
2021-01-15core: Silence Wclass-memaccess warningsReinUsesLisp
This requires making several types trivial and properly initialize them whenever they are called.
2020-12-28hle: service: Acquire and release a lock on requests.bunnei
- This makes it such that we can safely access service members from CoreTiming thread.
2020-11-26service: Eliminate usages of the global system instanceLioncash
Completely removes all usages of the global system instance within the services code by passing in the using system instance to the services.
2020-10-20Revert "core: Fix clang build"bunnei
2020-10-17core: Fix clang buildLioncash
Recent changes to the build system that made more warnings be flagged as errors caused building via clang to break. Fixes #4795
2020-08-13General: Tidy up clang-format warnings part 2Lioncash
2020-08-03yuzu: Resolve C++20 deprecation warnings related to lambda capturesLioncash
C++20 deprecates capturing the this pointer via the '=' capture. Instead, we replace it or extend the capture specification.
2020-04-17core: memory: Move to Core::Memory namespace.bunnei
- helpful to disambiguate Kernel::Memory namespace.
2019-11-26core/memory: Migrate over Read{8, 16, 32, 64, Block} to the Memory classLioncash
With all of the trivial parts of the memory interface moved over, we can get right into moving over the bits that are used. Note that this does require the use of GetInstance from the global system instance to be used within hle_ipc.cpp and the gdbstub. This is fine for the time being, as they both already rely on the global system instance in other functions. These will be removed in a change directed at both of these respectively. For now, it's sufficient, as it still accomplishes the goal of de-globalizing the memory code.
2019-11-03kernel: events: Remove ResetType::Automatic.bunnei
- This does not actually seem to exist in the real kernel - games reset these automatically. # Conflicts: # src/core/hle/service/am/applets/applets.cpp # src/core/hle/service/filesystem/fsp_srv.cpp
2019-10-04audio/audout_u: Change formatting for old clang-format versionsReinUsesLisp
2019-10-04service/audio: Silence -WunusedReinUsesLisp
2019-07-19service/audio: Remove global system accessorsLioncash
Trims out the lingering reliance on global state out of the audio code.
2019-06-16CleanupDavid Marcec
2019-06-16Impl'd IsUserAccountSwitchLocked, SetAudioOutVolume, GetAudioOutVolume & ↵David Marcec
Partial impl of GetAccumulatedSuspendedTickChangedEvent IPC-100 was changed to InitializeApplicationInfoOld instead of InitializeApplicationInfo. IPC-150 makes an indentical call to IPC-100 however does extra processing. They should not have the same name as it's quite confusing to debug.
2019-05-18core/kernel/object: Rename ResetType enum membersLioncash
Renames the members to more accurately indicate what they signify. "OneShot" and "Sticky" are kind of ambiguous identifiers for the reset types, and can be kind of misleading. Automatic and Manual communicate the kind of reset type in a clearer manner. Either the event is automatically reset, or it isn't and must be manually cleared. The "OneShot" and "Sticky" terminology is just a hold-over from Citra where the kernel had a third type of event reset type known as "Pulse". Given the Switch kernel only has two forms of event reset types, we don't need to keep the old terminology around anymore.
2019-04-11service: Update service function tablesLioncash
Updates function tables based off information from SwitchBrew.
2019-04-04hle/service: Resolve unused variable warningsLioncash
In several places, we have request parsers where there's nothing to really parse, simply because the HLE function in question operates on buffers. In these cases we can just remove these instances altogether. In the other cases, we can retrieve the relevant members from the parser and at least log them out, giving them some use.
2019-03-07service/audio/audout_u: Only actually stop the audio stream in StopAudioOut ↵Lioncash
if the stream is playing The service itself only does further actions if the stream is playing. If the stream is already stopped, then it just exits successfully.