summaryrefslogtreecommitdiffstats
path: root/src/audio_core/audio_renderer.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* core/memory: Migrate over Read{8, 16, 32, 64, Block} to the Memory classLioncash2019-11-271-8/+9
| | | | | | | | | | | | | | 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.
* core: Prepare various classes for memory read/write migrationLioncash2019-11-271-11/+13
| | | | | | | | | | 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.
* kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for kernel objects. (#3154)bunnei2019-11-251-1/+1
| | | | | | * kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for kernel objects. - See https://github.com/citra-emu/citra/pull/4710 for details.
* Used revision 5 instead of 7, marked constexpr as staticDavid Marcec2019-09-211-2/+2
|
* Added frame_count for REV7 audio rendererDavid Marcec2019-09-201-0/+10
| | | | Added framecount
* Clang formatDavid Marcec2019-07-121-1/+2
|
* Addressed issuesDavid Marcec2019-07-121-1/+1
|
* "AudioRenderer" thread should have a unique nameDavid Marcec2019-07-121-2/+3
| | | | 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.
* addressed issueDavid Marcec2019-07-081-1/+1
|
* audren: Only manage wave buffers with a sizeDavid Marcec2019-07-011-3/+5
| | | | | | We shouldn't be incrementing if wave buffers are empty. They are considered invalid/unused wave buffers. This fixes the issue of certain sounds looping when they shouldn't
* core_timing: Convert core timing into a classLioncash2019-02-161-3/+4
| | | | | | | | | | | 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.
* audio_core: Convert LOG_CRITICAL + UNREACHABLE over to UNIMPLEMENTED/UNIMPLEMENTED_MSGLioncash2018-12-281-4/+2
| | | | | | 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.
* Avoid (expensive) audio interpolation when sample rates already matchheapo2018-12-061-2/+5
|
* core: Port all current usages of Event to Readable/WritableEventZach Hilman2018-11-291-2/+2
|
* Fixups for softlockDavid Marcec2018-10-071-5/+6
|
* Fixed missing returnDavid Marcec2018-10-071-1/+1
| | | | | Softlock explanation: after effects are initialized in smo, nothing actually changes the state. It expects the state to always be initialized. With the previous testing, updating the states much like how we handle the memory pools continue to have the softlock(which is why I said it probably wasn't effects) after further examination it seems like effects need to be initialized but the state remains unchanged until further notice. For now, assertions are added for the aux buffers to see if they update, unable to check as I haven't gotten smo to actually update them yet.
* Fixed smo softlockDavid Marcec2018-10-071-13/+71
|
* stream: Preserve enum class type in GetState()Lioncash2018-09-241-1/+1
| | | | | | 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/+4
|
* audio_renderer: Replace includes with forward declarations where applicableLioncash2018-09-171-0/+40
| | | | | | | | | Avoids including unnecessary headers within the audio_renderer.h header, lessening the likelihood of needing to rebuild source files including this header if they ever change. Given std::vector allows forward declaring contained types, we can move VoiceState to the cpp file and hide the implementation entirely.
* Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi2018-09-151-12/+12
|
* audio_renderer: Rename AudioOut instance to audio_outMerryMage2018-09-081-6/+6
|
* audio_renderer: samples_remaining counts frames, not samplesMerryMage2018-08-131-1/+1
|
* audio_core: InterpolateMerryMage2018-08-131-0/+3
|
* Pushed the requested sample rate instead of our fixed sample rateDavid Marcec2018-08-121-1/+1
|
* Added GetAudioRendererSampleRate, GetAudioRendererSampleCount & GetAudioRendererMixBufferCountDavid Marcec2018-08-121-0/+12
| | | | GetAudioRendererSampleRate is set as a "STUB" as a game could check if the sample rate it sent and the sample rate it wants don't match. Just a thought of something which could happen so keeping it as stub for the mean time
* audio_core: Implement audren_u audio playback.bunnei2018-08-051-0/+234