early-access version 2953

This commit is contained in:
pineappleEA 2022-09-15 21:58:04 +02:00
parent ec15d19ec1
commit 5a150752a4
29 changed files with 106 additions and 113 deletions

View File

@ -1,7 +1,7 @@
yuzu emulator early access yuzu emulator early access
============= =============
This is the source code for early-access 2952. This is the source code for early-access 2953.
## Legal Notice ## Legal Notice

View File

@ -17,7 +17,7 @@ namespace AudioCore {
class AudioManager; class AudioManager;
/** /**
* Main audio class, sotred inside the core, and holding the audio manager, all sinks, and the ADSP. * Main audio class, stored inside the core, and holding the audio manager, all sinks, and the ADSP.
*/ */
class AudioCore { class AudioCore {
public: public:

View File

@ -14,7 +14,7 @@ namespace AudioCore {
* Responsible for the input/output events, set by the stream backend when buffers are consumed, and * Responsible for the input/output events, set by the stream backend when buffers are consumed, and
* waited on by the audio manager. These callbacks signal the game's events to keep the audio buffer * waited on by the audio manager. These callbacks signal the game's events to keep the audio buffer
* recycling going. * recycling going.
* In a real Switch this is not a seprate class, and exists entirely within the audio manager. * In a real Switch this is not a separate class, and exists entirely within the audio manager.
* On the Switch it's implemented more simply through a MultiWaitEventHolder, where it can * On the Switch it's implemented more simply through a MultiWaitEventHolder, where it can
* wait on multiple events at once, and the events are not needed by the backend. * wait on multiple events at once, and the events are not needed by the backend.
*/ */

View File

@ -59,9 +59,10 @@ public:
/** /**
* Get a list of audio in device names. * Get a list of audio in device names.
* *
* @oaram names - Output container to write names to. * @param names - Output container to write names to.
* @param max_count - Maximum numebr of deivce names to write. Unused * @param max_count - Maximum number of device names to write. Unused
* @param filter - Should the list be filtered? Unused. * @param filter - Should the list be filtered? Unused.
*
* @return Number of names written. * @return Number of names written.
*/ */
u32 GetDeviceNames(std::vector<AudioRenderer::AudioDevice::AudioDeviceName>& names, u32 GetDeviceNames(std::vector<AudioRenderer::AudioDevice::AudioDeviceName>& names,

View File

@ -76,7 +76,7 @@ public:
private: private:
/** /**
* Main thread, waiting on a manager signal and calling the registered fucntion. * Main thread, waiting on a manager signal and calling the registered function.
*/ */
void ThreadFunc(); void ThreadFunc();

View File

@ -64,10 +64,10 @@ public:
/** /**
* Add a renderer system to the manager. * Add a renderer system to the manager.
* The system will be reguarly called to generate commands for the AudioRenderer. * The system will be regularly called to generate commands for the AudioRenderer.
* *
* @param system - The system to add. * @param system - The system to add.
* @return True if the system was sucessfully added, otherwise false. * @return True if the system was successfully added, otherwise false.
*/ */
bool AddSystem(System& system); bool AddSystem(System& system);
@ -75,7 +75,7 @@ public:
* Remove a renderer system from the manager. * Remove a renderer system from the manager.
* *
* @param system - The system to remove. * @param system - The system to remove.
* @return True if the system was sucessfully removed, otherwise false. * @return True if the system was successfully removed, otherwise false.
*/ */
bool RemoveSystem(System& system); bool RemoveSystem(System& system);

View File

@ -88,7 +88,9 @@ public:
/** /**
* Release all registered buffers. * Release all registered buffers.
* *
* @param timestamp - The released timestamp for this buffer. * @param core_timing - The CoreTiming instance
* @param session - The device session
*
* @return Is the buffer was released. * @return Is the buffer was released.
*/ */
bool ReleaseBuffers(Core::Timing::CoreTiming& core_timing, DeviceSession& session) { bool ReleaseBuffers(Core::Timing::CoreTiming& core_timing, DeviceSession& session) {

View File

@ -74,7 +74,8 @@ public:
/** /**
* Check if the buffer for the given tag has been consumed by the backend. * Check if the buffer for the given tag has been consumed by the backend.
* *
* @param tag - Unqiue tag of the buffer to check. * @param buffer - the buffer to check.
*
* @return true if the buffer has been consumed, otherwise false. * @return true if the buffer has been consumed, otherwise false.
*/ */
bool IsBufferConsumed(AudioBuffer& buffer) const; bool IsBufferConsumed(AudioBuffer& buffer) const;

View File

@ -208,7 +208,7 @@ public:
/** /**
* Set this system's current volume. * Set this system's current volume.
* *
* @param The new volume. * @param volume The new volume.
*/ */
void SetVolume(f32 volume); void SetVolume(f32 volume);

View File

@ -199,7 +199,7 @@ public:
/** /**
* Set this system's current volume. * Set this system's current volume.
* *
* @param The new volume. * @param volume The new volume.
*/ */
void SetVolume(f32 volume); void SetVolume(f32 volume);

View File

@ -63,8 +63,6 @@ public:
/** /**
* Stop the ADSP. * Stop the ADSP.
*
* @return True if started or already running, otherwise false.
*/ */
void Stop(); void Stop();

View File

@ -52,7 +52,7 @@ public:
/** /**
* Send a message from the host to the AudioRenderer. * Send a message from the host to the AudioRenderer.
* *
* @param message_ - The message to send to the AudioRenderer. * @param message - The message to send to the AudioRenderer.
*/ */
void HostSendMessage(RenderMessage message); void HostSendMessage(RenderMessage message);
@ -66,7 +66,7 @@ public:
/** /**
* Send a message from the AudioRenderer to the host. * Send a message from the AudioRenderer to the host.
* *
* @param message_ - The message to send to the host. * @param message - The message to send to the host.
*/ */
void ADSPSendMessage(RenderMessage message); void ADSPSendMessage(RenderMessage message);
@ -163,7 +163,7 @@ public:
/** /**
* Start the AudioRenderer. * Start the AudioRenderer.
* *
* @param The mailbox to use for this session. * @param mailbox The mailbox to use for this session.
*/ */
void Start(AudioRenderer_Mailbox* mailbox); void Start(AudioRenderer_Mailbox* mailbox);

View File

@ -33,10 +33,10 @@ public:
/** /**
* Initialize the processor. * Initialize the processor.
* *
* @param system_ - The core system. * @param system - The core system.
* @param buffer - The command buffer to process. * @param buffer - The command buffer to process.
* @param size - The size of the buffer. * @param size - The size of the buffer.
* @param stream_ - The stream to be used for sending the samples. * @param stream - The stream to be used for sending the samples.
*/ */
void Initialize(Core::System& system, CpuAddr buffer, u64 size, Sink::SinkStream* stream); void Initialize(Core::System& system, CpuAddr buffer, u64 size, Sink::SinkStream* stream);
@ -72,7 +72,8 @@ public:
/** /**
* Process the command list. * Process the command list.
* *
* @param index - Index of the current command list. * @param session_id - Session ID for the commands being processed.
*
* @return The time taken to process. * @return The time taken to process.
*/ */
u64 Process(u32 session_id); u64 Process(u32 session_id);
@ -89,7 +90,7 @@ public:
u8* commands{}; u8* commands{};
/// The command buffer size /// The command buffer size
u64 commands_buffer_size{}; u64 commands_buffer_size{};
/// The maximum processing time alloted /// The maximum processing time allotted
u64 max_process_time{}; u64 max_process_time{};
/// The number of commands in the buffer /// The number of commands in the buffer
u32 command_count{}; u32 command_count{};

View File

@ -191,6 +191,7 @@ public:
* @param volume - Current mix volume used for calculating the ramp. * @param volume - Current mix volume used for calculating the ramp.
* @param prev_volume - Previous mix volume, used for calculating the ramp, * @param prev_volume - Previous mix volume, used for calculating the ramp,
* also applied to the input. * also applied to the input.
* @param prev_samples - Previous sample buffer. Used for depopping.
* @param precision - Number of decimal bits for fixed point operations. * @param precision - Number of decimal bits for fixed point operations.
*/ */
void GenerateMixRampCommand(s32 node_id, s16 buffer_count, s16 input_index, s16 output_index, void GenerateMixRampCommand(s32 node_id, s16 buffer_count, s16 input_index, s16 output_index,
@ -208,6 +209,7 @@ public:
* @param volumes - Current mix volumes used for calculating the ramp. * @param volumes - Current mix volumes used for calculating the ramp.
* @param prev_volumes - Previous mix volumes, used for calculating the ramp, * @param prev_volumes - Previous mix volumes, used for calculating the ramp,
* also applied to the input. * also applied to the input.
* @param prev_samples - Previous sample buffer. Used for depopping.
* @param precision - Number of decimal bits for fixed point operations. * @param precision - Number of decimal bits for fixed point operations.
*/ */
void GenerateMixRampGroupedCommand(s32 node_id, s16 buffer_count, s16 input_index, void GenerateMixRampGroupedCommand(s32 node_id, s16 buffer_count, s16 input_index,
@ -300,8 +302,8 @@ public:
* @param node_id - Node id of the voice this command is generated for. * @param node_id - Node id of the voice this command is generated for.
* @param buffer_offset - Base mix buffer offset to use. * @param buffer_offset - Base mix buffer offset to use.
* @param sink_info - The sink_info to generate this command from. * @param sink_info - The sink_info to generate this command from.
* @session_id - System session id this command is generated from. * @param session_id - System session id this command is generated from.
* @samples_buffer - The buffer to be sent to the sink if upsampling is not used. * @param samples_buffer - The buffer to be sent to the sink if upsampling is not used.
*/ */
void GenerateDeviceSinkCommand(s32 node_id, s16 buffer_offset, SinkInfoBase& sink_info, void GenerateDeviceSinkCommand(s32 node_id, s16 buffer_offset, SinkInfoBase& sink_info,
u32 session_id, std::span<s32> samples_buffer); u32 session_id, std::span<s32> samples_buffer);

View File

@ -198,7 +198,7 @@ public:
* Generate an I3DL2 reverb effect command. * Generate an I3DL2 reverb effect command.
* *
* @param buffer_offset - Base mix buffer offset to use. * @param buffer_offset - Base mix buffer offset to use.
* @param effect_info_base - I3DL2Reverb effect info. * @param effect_info - I3DL2Reverb effect info.
* @param node_id - Node id of the mix this command is generated for. * @param node_id - Node id of the mix this command is generated for.
*/ */
void GenerateI3dl2ReverbEffectCommand(s16 buffer_offset, EffectInfoBase& effect_info, void GenerateI3dl2ReverbEffectCommand(s16 buffer_offset, EffectInfoBase& effect_info,
@ -208,7 +208,7 @@ public:
* Generate an aux effect command. * Generate an aux effect command.
* *
* @param buffer_offset - Base mix buffer offset to use. * @param buffer_offset - Base mix buffer offset to use.
* @param effect_info_base - Aux effect info. * @param effect_info - Aux effect info.
* @param node_id - Node id of the mix this command is generated for. * @param node_id - Node id of the mix this command is generated for.
*/ */
void GenerateAuxCommand(s16 buffer_offset, EffectInfoBase& effect_info, s32 node_id); void GenerateAuxCommand(s16 buffer_offset, EffectInfoBase& effect_info, s32 node_id);
@ -217,7 +217,7 @@ public:
* Generate a biquad filter effect command. * Generate a biquad filter effect command.
* *
* @param buffer_offset - Base mix buffer offset to use. * @param buffer_offset - Base mix buffer offset to use.
* @param effect_info_base - Aux effect info. * @param effect_info - Aux effect info.
* @param node_id - Node id of the mix this command is generated for. * @param node_id - Node id of the mix this command is generated for.
*/ */
void GenerateBiquadFilterEffectCommand(s16 buffer_offset, EffectInfoBase& effect_info, void GenerateBiquadFilterEffectCommand(s16 buffer_offset, EffectInfoBase& effect_info,
@ -227,7 +227,7 @@ public:
* Generate a light limiter effect command. * Generate a light limiter effect command.
* *
* @param buffer_offset - Base mix buffer offset to use. * @param buffer_offset - Base mix buffer offset to use.
* @param effect_info_base - Limiter effect info. * @param effect_info - Limiter effect info.
* @param node_id - Node id of the mix this command is generated for. * @param node_id - Node id of the mix this command is generated for.
* @param effect_index - Index for the statistics state. * @param effect_index - Index for the statistics state.
*/ */
@ -239,7 +239,7 @@ public:
* Writes a mix buffer back to game memory. * Writes a mix buffer back to game memory.
* *
* @param buffer_offset - Base mix buffer offset to use. * @param buffer_offset - Base mix buffer offset to use.
* @param effect_info_base - Capture effect info. * @param effect_info - Capture effect info.
* @param node_id - Node id of the mix this command is generated for. * @param node_id - Node id of the mix this command is generated for.
*/ */
void GenerateCaptureCommand(s16 buffer_offset, EffectInfoBase& effect_info, s32 node_id); void GenerateCaptureCommand(s16 buffer_offset, EffectInfoBase& effect_info, s32 node_id);
@ -248,11 +248,10 @@ public:
* Generate a compressor effect command. * Generate a compressor effect command.
* *
* @param buffer_offset - Base mix buffer offset to use. * @param buffer_offset - Base mix buffer offset to use.
* @param effect_info_base - Compressor effect info. * @param effect_info - Compressor effect info.
* @param node_id - Node id of the mix this command is generated for. * @param node_id - Node id of the mix this command is generated for.
*/ */
void GenerateCompressorCommand(const s16 buffer_offset, EffectInfoBase& effect_info, void GenerateCompressorCommand(s16 buffer_offset, EffectInfoBase& effect_info, s32 node_id);
const s32 node_id);
/** /**
* Generate all effect commands for a mix. * Generate all effect commands for a mix.
@ -318,8 +317,9 @@ public:
* Generate a performance command. * Generate a performance command.
* Used to report performance metrics of the AudioRenderer back to the game. * Used to report performance metrics of the AudioRenderer back to the game.
* *
* @param buffer_offset - Base mix buffer offset to use. * @param node_id - Node ID of the mix this command is generated for
* @param sink_info - Sink info to generate the commands from. * @param state - Output state of the generated performance command
* @param entry_addresses - Addresses to be written
*/ */
void GeneratePerformanceCommand(s32 node_id, PerformanceState state, void GeneratePerformanceCommand(s32 node_id, PerformanceState state,
const PerformanceEntryAddresses& entry_addresses); const PerformanceEntryAddresses& entry_addresses);

View File

@ -7,17 +7,7 @@
#include "common/logging/log.h" #include "common/logging/log.h"
namespace AudioCore::AudioRenderer { namespace AudioCore::AudioRenderer {
/**
* Mix input mix buffer into output mix buffer, with volume applied to the input.
*
* @tparam Q - Number of bits for fixed point operations.
* @param output - Output mix buffer.
* @param input - Input mix buffer.
* @param volume - Volume applied to the input.
* @param ramp - Ramp applied to volume every sample.
* @param sample_count - Number of samples to process.
* @return The final gained input sample, used for depopping.
*/
template <size_t Q> template <size_t Q>
s32 ApplyMixRamp(std::span<s32> output, std::span<const s32> input, const f32 volume_, s32 ApplyMixRamp(std::span<s32> output, std::span<const s32> input, const f32 volume_,
const f32 ramp_, const u32 sample_count) { const f32 ramp_, const u32 sample_count) {
@ -40,10 +30,8 @@ s32 ApplyMixRamp(std::span<s32> output, std::span<const s32> input, const f32 vo
return sample.to_int(); return sample.to_int();
} }
template s32 ApplyMixRamp<15>(std::span<s32>, std::span<const s32>, const f32, const f32, template s32 ApplyMixRamp<15>(std::span<s32>, std::span<const s32>, f32, f32, u32);
const u32); template s32 ApplyMixRamp<23>(std::span<s32>, std::span<const s32>, f32, f32, u32);
template s32 ApplyMixRamp<23>(std::span<s32>, std::span<const s32>, const f32, const f32,
const u32);
void MixRampCommand::Dump(const ADSP::CommandListProcessor& processor, std::string& string) { void MixRampCommand::Dump(const ADSP::CommandListProcessor& processor, std::string& string) {
const auto ramp{(volume - prev_volume) / static_cast<f32>(processor.sample_count)}; const auto ramp{(volume - prev_volume) / static_cast<f32>(processor.sample_count)};

View File

@ -61,13 +61,13 @@ struct MixRampCommand : ICommand {
* @tparam Q - Number of bits for fixed point operations. * @tparam Q - Number of bits for fixed point operations.
* @param output - Output mix buffer. * @param output - Output mix buffer.
* @param input - Input mix buffer. * @param input - Input mix buffer.
* @param volume - Volume applied to the input. * @param volume_ - Volume applied to the input.
* @param ramp - Ramp applied to volume every sample. * @param ramp_ - Ramp applied to volume every sample.
* @param sample_count - Number of samples to process. * @param sample_count - Number of samples to process.
* @return The final gained input sample, used for depopping. * @return The final gained input sample, used for depopping.
*/ */
template <size_t Q> template <size_t Q>
s32 ApplyMixRamp(std::span<s32> output, std::span<const s32> input, const f32 volume_, s32 ApplyMixRamp(std::span<s32> output, std::span<const s32> input, f32 volume_, f32 ramp_,
const f32 ramp_, const u32 sample_count); u32 sample_count);
} // namespace AudioCore::AudioRenderer } // namespace AudioCore::AudioRenderer

View File

@ -50,9 +50,9 @@ struct MixRampGroupedCommand : ICommand {
std::array<s16, MaxMixBuffers> inputs; std::array<s16, MaxMixBuffers> inputs;
/// Output mix buffer indexes for each mix buffer /// Output mix buffer indexes for each mix buffer
std::array<s16, MaxMixBuffers> outputs; std::array<s16, MaxMixBuffers> outputs;
/// Previous mix vloumes for each mix buffer /// Previous mix volumes for each mix buffer
std::array<f32, MaxMixBuffers> prev_volumes; std::array<f32, MaxMixBuffers> prev_volumes;
/// Current mix vloumes for each mix buffer /// Current mix volumes for each mix buffer
std::array<f32, MaxMixBuffers> volumes; std::array<f32, MaxMixBuffers> volumes;
/// Pointer to the previous sample buffer, used for depop /// Pointer to the previous sample buffer, used for depop
CpuAddr previous_samples; CpuAddr previous_samples;

View File

@ -15,15 +15,15 @@ class EffectContext {
public: public:
/** /**
* Initialize the effect context * Initialize the effect context
* @param effect_infos List of effect infos for this context * @param effect_infos_ - List of effect infos for this context
* @param effect_count The number of effects in the list * @param effect_count_ - The number of effects in the list
* @param result_states_cpu The workbuffer of result states for the CPU for this context * @param result_states_cpu_ - The workbuffer of result states for the CPU for this context
* @param result_states_dsp The workbuffer of result states for the DSP for this context * @param result_states_dsp_ - The workbuffer of result states for the DSP for this context
* @param state_count The number of result states * @param dsp_state_count - The number of result states
*/ */
void Initialize(std::span<EffectInfoBase> effect_infos_, const u32 effect_count_, void Initialize(std::span<EffectInfoBase> effect_infos_, u32 effect_count_,
std::span<EffectResultState> result_states_cpu_, std::span<EffectResultState> result_states_cpu_,
std::span<EffectResultState> result_states_dsp_, const size_t dsp_state_count); std::span<EffectResultState> result_states_dsp_, size_t dsp_state_count);
/** /**
* Get the EffectInfo for a given index * Get the EffectInfo for a given index

View File

@ -291,7 +291,7 @@ public:
* Update the info with new parameters, version 1. * Update the info with new parameters, version 1.
* *
* @param error_info - Used to write call result code. * @param error_info - Used to write call result code.
* @param in_params - New parameters to update the info with. * @param params - New parameters to update the info with.
* @param pool_mapper - Pool for mapping buffers. * @param pool_mapper - Pool for mapping buffers.
*/ */
virtual void Update(BehaviorInfo::ErrorInfo& error_info, virtual void Update(BehaviorInfo::ErrorInfo& error_info,
@ -305,7 +305,7 @@ public:
* Update the info with new parameters, version 2. * Update the info with new parameters, version 2.
* *
* @param error_info - Used to write call result code. * @param error_info - Used to write call result code.
* @param in_params - New parameters to update the info with. * @param params - New parameters to update the info with.
* @param pool_mapper - Pool for mapping buffers. * @param pool_mapper - Pool for mapping buffers.
*/ */
virtual void Update(BehaviorInfo::ErrorInfo& error_info, virtual void Update(BehaviorInfo::ErrorInfo& error_info,

View File

@ -19,8 +19,8 @@ public:
/** /**
* Setup a new AddressInfo. * Setup a new AddressInfo.
* *
* @param cpu_address - The CPU address of this region. * @param cpu_address_ - The CPU address of this region.
* @param size - The size of this region. * @param size_ - The size of this region.
*/ */
void Setup(CpuAddr cpu_address_, u64 size_) { void Setup(CpuAddr cpu_address_, u64 size_) {
cpu_address = cpu_address_; cpu_address = cpu_address_;
@ -42,7 +42,6 @@ public:
* Assign this region to a memory pool. * Assign this region to a memory pool.
* *
* @param memory_pool_ - Memory pool to assign. * @param memory_pool_ - Memory pool to assign.
* @return The CpuAddr address of this region.
*/ */
void SetPool(MemoryPoolInfo* memory_pool_) { void SetPool(MemoryPoolInfo* memory_pool_) {
memory_pool = memory_pool_; memory_pool = memory_pool_;

View File

@ -112,11 +112,11 @@ public:
/** /**
* Initialize the node states. * Initialize the node states.
* *
* @param buffer - The workbuffer to use. Unused. * @param buffer_ - The workbuffer to use. Unused.
* @param node_buffer_size - The size of the workbuffer. Unused. * @param node_buffer_size - The size of the workbuffer. Unused.
* @param count - The number of nodes in the graph. * @param count - The number of nodes in the graph.
*/ */
void Initialize(std::span<u8> nodes, u64 node_buffer_size, u32 count); void Initialize(std::span<u8> buffer_, u64 node_buffer_size, u32 count);
/** /**
* Sort the graph. Only calls DepthFirstSearch. * Sort the graph. Only calls DepthFirstSearch.

View File

@ -74,6 +74,7 @@ public:
* *
* @param behavior - Check which version is supported. * @param behavior - Check which version is supported.
* @param params - Input parameters. * @param params - Input parameters.
*
* @return Required workbuffer size. * @return Required workbuffer size.
*/ */
static u64 GetRequiredBufferSizeForPerformanceMetricsPerFrame( static u64 GetRequiredBufferSizeForPerformanceMetricsPerFrame(
@ -161,6 +162,7 @@ public:
* *
* @param addresses - Filled with pointers to the new detail, which should be passed * @param addresses - Filled with pointers to the new detail, which should be passed
* to the AudioRenderer with Performance commands to be written. * to the AudioRenderer with Performance commands to be written.
* @param detail_type - Performance detail type.
* @param entry_type - The type of this detail. See PerformanceEntryType * @param entry_type - The type of this detail. See PerformanceEntryType
* @param node_id - Node id for this detail. * @param node_id - Node id for this detail.
* @return True if a new detail was created and the offsets are valid, otherwise false. * @return True if a new detail was created and the offsets are valid, otherwise false.

View File

@ -27,7 +27,7 @@ public:
/** /**
* Free the given upsampler. * Free the given upsampler.
* *
* @param The upsampler to be freed. * @param info The upsampler to be freed.
*/ */
void Free(UpsamplerInfo* info); void Free(UpsamplerInfo* info);

View File

@ -185,7 +185,8 @@ public:
/** /**
* Does this voice ned an update? * Does this voice ned an update?
* *
* @param params - Input parametetrs to check matching. * @param params - Input parameters to check matching.
*
* @return True if this voice needs an update, otherwise false. * @return True if this voice needs an update, otherwise false.
*/ */
bool ShouldUpdateParameters(const InParameter& params) const; bool ShouldUpdateParameters(const InParameter& params) const;
@ -194,7 +195,7 @@ public:
* Update the parameters of this voice. * Update the parameters of this voice.
* *
* @param error_info - Output error code. * @param error_info - Output error code.
* @param params - Input parametters to udpate from. * @param params - Input parameters to update from.
* @param pool_mapper - Used to map buffers. * @param pool_mapper - Used to map buffers.
* @param behavior - behavior to check supported features. * @param behavior - behavior to check supported features.
*/ */
@ -220,7 +221,7 @@ public:
* *
* @param error_infos - Output 2D array of errors, 2 per wavebuffer. * @param error_infos - Output 2D array of errors, 2 per wavebuffer.
* @param error_count - Number of errors provided. Unused. * @param error_count - Number of errors provided. Unused.
* @param params - Input parametters to be used for the update. * @param params - Input parameters to be used for the update.
* @param voice_states - The voice states for each channel in this voice to be updated. * @param voice_states - The voice states for each channel in this voice to be updated.
* @param pool_mapper - Used to map the wavebuffers. * @param pool_mapper - Used to map the wavebuffers.
* @param behavior - Used to check for supported features. * @param behavior - Used to check for supported features.
@ -233,7 +234,7 @@ public:
/** /**
* Update a wavebuffer. * Update a wavebuffer.
* *
* @param error_infos - Output array of errors. * @param error_info - Output array of errors.
* @param wave_buffer - The wavebuffer to be updated. * @param wave_buffer - The wavebuffer to be updated.
* @param wave_buffer_internal - Input parametters to be used for the update. * @param wave_buffer_internal - Input parametters to be used for the update.
* @param sample_format - Sample format of the wavebuffer. * @param sample_format - Sample format of the wavebuffer.
@ -276,7 +277,7 @@ public:
/** /**
* Check if this voice has any mixing connections. * Check if this voice has any mixing connections.
* *
* @return True if this voice participes in mixing, otherwise false. * @return True if this voice participates in mixing, otherwise false.
*/ */
bool HasAnyConnection() const; bool HasAnyConnection() const;
@ -301,7 +302,8 @@ public:
/** /**
* Update this voice on command generation. * Update this voice on command generation.
* *
* @param voice_states - Voice states for these wavebuffers. * @param voice_context - Voice context for these wavebuffers.
*
* @return True if this voice should be generated, otherwise false. * @return True if this voice should be generated, otherwise false.
*/ */
bool UpdateForCommandGeneration(VoiceContext& voice_context); bool UpdateForCommandGeneration(VoiceContext& voice_context);

View File

@ -34,8 +34,7 @@ public:
* May differ from the device's channel count. * May differ from the device's channel count.
* @param name - Name of this stream. * @param name - Name of this stream.
* @param type - Type of this stream, render/in/out. * @param type - Type of this stream, render/in/out.
* @param event - Audio render only, a signal used to prevent the renderer running too *
* fast.
* @return A pointer to the created SinkStream * @return A pointer to the created SinkStream
*/ */
SinkStream* AcquireSinkStream(Core::System& system, u32 system_channels, SinkStream* AcquireSinkStream(Core::System& system, u32 system_channels,
@ -91,7 +90,7 @@ private:
}; };
/** /**
* Get a list of conencted devices from Cubeb. * Get a list of connected devices from Cubeb.
* *
* @param capture - Return input (capture) devices if true, otherwise output devices. * @param capture - Return input (capture) devices if true, otherwise output devices.
*/ */

View File

@ -32,8 +32,7 @@ public:
* May differ from the device's channel count. * May differ from the device's channel count.
* @param name - Name of this stream. * @param name - Name of this stream.
* @param type - Type of this stream, render/in/out. * @param type - Type of this stream, render/in/out.
* @param event - Audio render only, a signal used to prevent the renderer running too *
* fast.
* @return A pointer to the created SinkStream * @return A pointer to the created SinkStream
*/ */
SinkStream* AcquireSinkStream(Core::System& system, u32 system_channels, SinkStream* AcquireSinkStream(Core::System& system, u32 system_channels,
@ -82,7 +81,7 @@ private:
}; };
/** /**
* Get a list of conencted devices from Cubeb. * Get a list of connected devices from SDL.
* *
* @param capture - Return input (capture) devices if true, otherwise output devices. * @param capture - Return input (capture) devices if true, otherwise output devices.
*/ */

View File

@ -48,8 +48,7 @@ public:
* May differ from the device's channel count. * May differ from the device's channel count.
* @param name - Name of this stream. * @param name - Name of this stream.
* @param type - Type of this stream, render/in/out. * @param type - Type of this stream, render/in/out.
* @param event - Audio render only, a signal used to prevent the renderer running too *
* fast.
* @return A pointer to the created SinkStream * @return A pointer to the created SinkStream
*/ */
virtual SinkStream* AcquireSinkStream(Core::System& system, u32 system_channels, virtual SinkStream* AcquireSinkStream(Core::System& system, u32 system_channels,

View File

@ -214,7 +214,7 @@ protected:
Core::System& system; Core::System& system;
/// Type of this stream /// Type of this stream
StreamType type; StreamType type;
/// Set by the audio render/in/out systen which uses this stream /// Set by the audio render/in/out system which uses this stream
u32 system_channels{2}; u32 system_channels{2};
/// Channels supported by hardware /// Channels supported by hardware
u32 device_channels{2}; u32 device_channels{2};