summaryrefslogtreecommitdiffstats
path: root/src/audio_core/stream.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* core_timing: Use better reference tracking for EventType. (#3159)bunnei2019-11-271-1/+1
| | | | | | | * 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.
* Merge pull request #2583 from FernandoS27/core-timing-safebunnei2019-06-301-1/+1
|\ | | | | Core_Timing: Make core_timing threadsafe by default.
| * Core_Timing: Make core_timing threadsafe by default.Fernando Sahmkow2019-06-161-1/+1
| | | | | | | | | | | | 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.
* | Impl'd IsUserAccountSwitchLocked, SetAudioOutVolume, GetAudioOutVolume & Partial impl of GetAccumulatedSuspendedTickChangedEventDavid Marcec2019-06-161-3/+7
|/ | | | 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.
* core/core_timing_util: Use std::chrono types for specifying time unitsLioncash2019-06-051-1/+3
| | | | | Makes the interface more type-safe and consistent in terms of return values.
* core/core_timing: Make callback parameters consistentLioncash2019-03-241-1/+1
| | | | | | | | | | | 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.
* audio_core/buffer: Make const and non-const getter for samples consistentLioncash2019-02-161-1/+1
| | | | This way proper const/non-const selection can occur.
* core_timing: Convert core timing into a classLioncash2019-02-161-6/+5
| | | | | | | | | | | 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.
* core_timing: Rename CoreTiming namespace to Core::TimingLioncash2019-02-121-3/+4
| | | | | | 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.
* dsp_interface: fix sound being played while volume is 0fearlessTobi2019-01-261-1/+1
| | | | | 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.
* audio_core: Convert LOG_CRITICAL + UNREACHABLE over to UNIMPLEMENTED/UNIMPLEMENTED_MSGLioncash2018-12-281-4/+3
| | | | | | 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.
* microprofile: Drop ReleaseActiveBuffer scope.Markus Wick2018-11-061-4/+0
| | | | | 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.
* stream: Preserve enum class type in GetState()Lioncash2018-09-241-2/+2
| | | | | | 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.
* Added audren:u#GetAudioRendererStateDavid Marcec2018-09-231-0/+5
|
* stream: Replace includes with forward declarations where applicableLioncash2018-09-171-0/+1
| | | | | Avoids propagating includes in headers where it's not necessary to do so.
* Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi2018-09-151-4/+4
|
* audio_core: Flush stream when not playing anythingMerryMage2018-09-121-0/+2
|
* Add audio stretching supportfearlessTobi2018-09-081-0/+1
|
* Update microprofile scopes.Markus Wick2018-09-041-0/+4
| | | | | | 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.
* audio_core: Use s16 where possible for audio samples.bunnei2018-08-051-14/+5
|
* audio_core: Streams need unique names for CoreTiming.bunnei2018-08-041-3/+4
|
* audio_core: Add configuration settings.bunnei2018-08-011-7/+28
|
* audio_core: Implement Sink and SinkStream interfaces with cubeb.bunnei2018-07-311-0/+11
|
* audio_core: Misc. improvements to stream/buffer/audio_out.bunnei2018-07-311-12/+12
|
* audio_core: Add initial code for keeping track of audout state.bunnei2018-07-281-0/+103