aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service/audio
AgeCommit message (Collapse)Author
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-09-11Merge pull request #4310 from ogniK5377/apollo-1-prodbunnei
audio_core: Apollo Part 1, AudioRenderer refactor
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-08-03ipc: Allow all trivially copyable objects to be passed directly into ↵David
WriteBuffer (#4465) * ipc: Allow all trivially copyable objects to be passed directly into WriteBuffer With the support of C++20, we can use concepts to deduce if a type is an STL container or not. * More agressive concept for stl containers * Add -fconcepts * Move to common namespace * Add Common::IsBaseOf
2020-07-25audio_core: Apollo Part 1, AudioRenderer refactorDavid Marcec
2020-04-29marked stubsDavid Marcec
2020-04-29Audin:u ListAudioIns, OpenAudioIn, ListAudioInsAuto, OpenAudioInAuto, ↵David Marcec
ListAudioInsAutoFiltered, OpenAudioInProtocolSpecified Closes #2874
2020-04-26Merge pull request #3744 from lioncash/table2bunnei
service: Update function tables
2020-04-20audio_renderer: Preliminary BehaviorInfo (#3736)David
* audio_renderer: Preliminary BehaviorInfo * clang format * Fixed IsRevisionSupported * fixed IsValidRevision * Fixed logic error & spelling errors & crash * Addressed issues
2020-04-20service: Update function tablesLioncash
Keeps the service function tables up to date. Updated based off information on SwitchBrew.
2020-04-20audren: Lower log level for RequestUpdateImpl to DebugFearlessTobi
2020-04-17service: Remove unused RequestParser instancesLioncash
These aren't used, so they should be removed to reduce compilation warnings.
2020-04-17core: memory: Move to Core::Memory namespace.bunnei
- helpful to disambiguate Kernel::Memory namespace.
2020-04-15CMakeLists: Specify -Wextra on linux buildsLioncash
Allows reporting more cases where logic errors may exist, such as implicit fallthrough cases, etc. We currently ignore unused parameters, since we currently have many cases where this is intentional (virtual interfaces). While we're at it, we can also tidy up any existing code that causes warnings. This also uncovered a few bugs as well.
2020-02-11update hwopus DecodeInterleaved for FW 7.0.0+makigumo
trivial change, see https://switchbrew.org/wiki/Audio_services#IHardwareOpusDecoder
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-26core: Prepare various classes for memory read/write migrationLioncash
Amends a few interfaces to be able to handle the migration over to the new Memory class by passing the class by reference as a function parameter where necessary. Notably, within the filesystem services, this eliminates two ReadBlock() calls by using the helper functions of HLERequestContext to do that for us.
2019-11-24Merge pull request #3094 from lioncash/tablesbunnei
service: Update function tables
2019-11-12service: Update function tablesLioncash
Keeps the function tables up to date. Updated based off information from Switchbrew.
2019-11-12service: Resolve sign conversion errorsLioncash
These are fairly trivial to resolve and most of the changes entail using RESULT_UNKNOWN over ResultCode(-1).
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-09-05Merge pull request #2834 from Morph1984/audrenu_QueryAudioDeviceInputEventDavid
audren_u: Stub IAudioDevice::QueryAudioDeviceInputEvent
2019-09-03Add Kernel::EventPair audio_input_device_switch_event;Morph1984
2019-09-03remove <f32>Morph1984
We can remove this since its already a f32 value
2019-09-03audren_u: Stub IAudioDevice::QueryAudioDeviceInputEventMorph1984
2019-09-03explicitly represent 1 as a float (1.0f instead of 1)Morph1984
2019-09-03Change u32 -> f32Morph1984
Volume is a f32 value. (SwIPC describes it as a u32, but it is actually f32 as corroborated by switchbrew docs and SetAudioDeviceOutputVolume) ```cpp const f32 volume = rp.Pop<f32>(); ```
2019-09-03service/audio/audren_u: Stub IAudioDevice::GetAudioDeviceOutputVolumeMorph1984
2019-07-19service/audren_u: Handle audio USB output revision queries in ↵Lioncash
ListAudioDeviceName() Audio devices use the supplied revision information in order to determine if USB audio output is able to be supported. In this case, we can only really handle using this revision information in ListAudioDeviceName(), where it checks if USB audio output is supported before supplying it as a device name. A few other scenarios exist where the revision info is checked, such as: - Early exiting from SetAudioDeviceOutputVolume if USB audio is attempted to be set when that device is unsupported. - Early exiting and returning 0.0f in GetAudioDeviceOutputVolume when USB output volume is queried and it's an unsupported device. - Falling back to AHUB headphones in GetActiveAudioDeviceName when the device type is USB output, but is unsupported based off the revision info. In order for these changes to also be implemented, a few other changes to the interface need to be made. Given we now properly handle everything about ListAudioDeviceName(), we no longer need to describe it as a stubbed function.
2019-07-19service/audren_u: Move revision testing code out of AudRenULioncash
The revision querying facilities are used by more than just audren. e.g. audio devices can use this to test whether or not USB audio output is supported. This will be used within the following change.
2019-07-19service/audio: Remove global system accessorsLioncash
Trims out the lingering reliance on global state out of the audio code.
2019-07-19service/audren_u: Remove unnecessary return value from ↵Lioncash
GetActiveAudioDeviceName() This service function only ever returns a result and nothing more.
2019-07-19service/audren_u: Report proper device namesLioncash
AudioDevice and AudioInterface aren't valid device names on the Switch. We should also be returning consistent names in GetActiveAudioDeviceName(). While we're at it, we can also handle proper name output in ListAudioDeviceName, by returning all the available devices on the Switch.
2019-07-13Clang formatDavid Marcec
2019-07-13"AudioRenderer" thread should have a unique nameDavid Marcec
Creating multiple "AudioRenderer" threads cause the previous thread to be overwritten. The thread will name be renamed to AudioRenderer-InstanceX, where X is the current instance number.
2019-07-01IAudioDevice::QueryAudioDeviceOutputEventDavid Marcec
The event should only be signaled when an output audio device gets changed. Example, Speaker to USB headset. We don't identify different devices internally yet so there's no need to signal the event yet.
2019-06-19Revert PR 2590.Fernando Sahmkow
Even though it has been proven that IAudioRenderer:SystemEvent is actually an automatic event. The current implementation of such event is all thought to be manual. Thus it's implementation needs to be corrected when doing such change. As it is right now this PR introduced a series of regressions on softlocks on multiple games. Therefore, this pr reverts such change until a correct implementation is made.
2019-06-19Merge pull request #2590 from lioncash/eventbunnei
service/audio/audren_u: Correct event reset type for the system event
2019-06-18service/audio/audren_u: Correct event reset type for the system eventLioncash
This is actually an auto-reset event in the audio service itself, not a manual one.