aboutsummaryrefslogtreecommitdiff
path: root/src/audio_core/stream.cpp
AgeCommit message (Collapse)Author
2019-11-26core_timing: Use better reference tracking for EventType. (#3159)bunnei
* core_timing: Use better reference tracking for EventType. - Moves ownership of the event to the caller, ensuring we don't fire events for destroyed objects. - Removes need for unique names - we won't be using this for save states anyways.
2019-06-30Merge pull request #2583 from FernandoS27/core-timing-safebunnei
Core_Timing: Make core_timing threadsafe by default.
2019-06-16Core_Timing: Make core_timing threadsafe by default.Fernando Sahmkow
The old implementation had faulty Threadsafe methods where events could be missing. This implementation unifies unsafe/safe methods and makes core timing thread safe overall.
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-06-04core/core_timing_util: Use std::chrono types for specifying time unitsLioncash
Makes the interface more type-safe and consistent in terms of return values.
2019-03-24core/core_timing: Make callback parameters consistentLioncash
In some cases, our callbacks were using s64 as a parameter, and in other cases, they were using an int, which is inconsistent. To make all callbacks consistent, we can just use an s64 as the type for late cycles, given it gets rid of the need to cast internally. While we're at it, also resolve some signed/unsigned conversions that were occurring related to the callback registration.
2019-02-16audio_core/buffer: Make const and non-const getter for samples consistentLioncash
This way proper const/non-const selection can occur.
2019-02-15core_timing: Convert core timing into a classLioncash
Gets rid of the largest set of mutable global state within the core. This also paves a way for eliminating usages of GetInstance() on the System class as a follow-up. Note that no behavioral changes have been made, and this simply extracts the functionality into a class. This also has the benefit of making dependencies on the core timing functionality explicit within the relevant interfaces.
2019-02-12core_timing: Rename CoreTiming namespace to Core::TimingLioncash
Places all of the timing-related functionality under the existing Core namespace to keep things consistent, rather than having the timing utilities sitting in its own completely separate namespace.
2019-01-26dsp_interface: fix sound being played while volume is 0fearlessTobi
According to documentation, if the argument of std::exp is zero, one is returned. However we want the return value to be also zero in this case so no audio is played.
2018-12-28audio_core: Convert LOG_CRITICAL + UNREACHABLE over to ↵Lioncash
UNIMPLEMENTED/UNIMPLEMENTED_MSG These two macros being used in tandem were used prior to the introduction of UNIMPLEMENTED and UNIMPLEMENTED_MSG. This provides equivalent behavior, just with less typing/reading involved.
2018-11-06microprofile: Drop ReleaseActiveBuffer scope.Markus Wick
This was created with the unfinished resampling PR in mind. As the resampling is now on the audio thread, we don't need to care about this here any more.
2018-09-23stream: Preserve enum class type in GetState()Lioncash
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.
2018-09-23Added audren:u#GetAudioRendererStateDavid Marcec
2018-09-17stream: Replace includes with forward declarations where applicableLioncash
Avoids propagating includes in headers where it's not necessary to do so.
2018-09-15Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi
2018-09-12audio_core: Flush stream when not playing anythingMerryMage
2018-09-08Add audio stretching supportfearlessTobi
2018-09-04Update microprofile scopes.Markus Wick
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.
2018-08-04audio_core: Use s16 where possible for audio samples.bunnei
2018-08-04audio_core: Streams need unique names for CoreTiming.bunnei
2018-07-31audio_core: Add configuration settings.bunnei
2018-07-30audio_core: Implement Sink and SinkStream interfaces with cubeb.bunnei
2018-07-30audio_core: Misc. improvements to stream/buffer/audio_out.bunnei
2018-07-27audio_core: Add initial code for keeping track of audout state.bunnei