mirror of
				https://git.tardis.systems/mirrors/yuzu
				synced 2025-11-04 12:45:03 +01:00 
			
		
		
		
	Merge pull request #8914 from lioncash/audio-const
audio_core: Mark several member functions as const
This commit is contained in:
		
						commit
						4a7a771340
					
				@ -25,8 +25,8 @@ SystemManager& Manager::GetSystemManager() {
 | 
			
		||||
    return *system_manager;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
auto Manager::GetWorkBufferSize(const AudioRendererParameterInternal& params, u64& out_count)
 | 
			
		||||
    -> Result {
 | 
			
		||||
Result Manager::GetWorkBufferSize(const AudioRendererParameterInternal& params,
 | 
			
		||||
                                  u64& out_count) const {
 | 
			
		||||
    if (!CheckValidRevision(params.revision)) {
 | 
			
		||||
        return Service::Audio::ERR_INVALID_REVISION;
 | 
			
		||||
    }
 | 
			
		||||
@ -54,7 +54,7 @@ void Manager::ReleaseSessionId(const s32 session_id) {
 | 
			
		||||
    session_ids[--session_count] = session_id;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
u32 Manager::GetSessionCount() {
 | 
			
		||||
u32 Manager::GetSessionCount() const {
 | 
			
		||||
    std::scoped_lock l{session_lock};
 | 
			
		||||
    return session_count;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -46,7 +46,7 @@ public:
 | 
			
		||||
     * @param out_count - Output size of the required workbuffer.
 | 
			
		||||
     * @return Result code.
 | 
			
		||||
     */
 | 
			
		||||
    Result GetWorkBufferSize(const AudioRendererParameterInternal& params, u64& out_count);
 | 
			
		||||
    Result GetWorkBufferSize(const AudioRendererParameterInternal& params, u64& out_count) const;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get a new session id.
 | 
			
		||||
@ -60,7 +60,7 @@ public:
 | 
			
		||||
     *
 | 
			
		||||
     * @return The number of active sessions.
 | 
			
		||||
     */
 | 
			
		||||
    u32 GetSessionCount();
 | 
			
		||||
    u32 GetSessionCount() const;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Add a renderer system to the manager.
 | 
			
		||||
@ -94,7 +94,7 @@ private:
 | 
			
		||||
    /// Number of active renderers
 | 
			
		||||
    u32 session_count{};
 | 
			
		||||
    /// Lock for interacting with the sessions
 | 
			
		||||
    std::mutex session_lock{};
 | 
			
		||||
    mutable std::mutex session_lock{};
 | 
			
		||||
    /// Regularly generates commands from the registered systems for the AudioRenderer
 | 
			
		||||
    std::unique_ptr<SystemManager> system_manager{};
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
@ -36,7 +36,7 @@ public:
 | 
			
		||||
     *
 | 
			
		||||
     * @param buffer - The new buffer.
 | 
			
		||||
     */
 | 
			
		||||
    void AppendBuffer(AudioBuffer& buffer) {
 | 
			
		||||
    void AppendBuffer(const AudioBuffer& buffer) {
 | 
			
		||||
        std::scoped_lock l{lock};
 | 
			
		||||
        buffers[appended_index] = buffer;
 | 
			
		||||
        appended_count++;
 | 
			
		||||
@ -93,7 +93,7 @@ public:
 | 
			
		||||
     *
 | 
			
		||||
     * @return Is the buffer was released.
 | 
			
		||||
     */
 | 
			
		||||
    bool ReleaseBuffers(Core::Timing::CoreTiming& core_timing, DeviceSession& session) {
 | 
			
		||||
    bool ReleaseBuffers(const Core::Timing::CoreTiming& core_timing, const DeviceSession& session) {
 | 
			
		||||
        std::scoped_lock l{lock};
 | 
			
		||||
        bool buffer_released{false};
 | 
			
		||||
        while (registered_count > 0) {
 | 
			
		||||
 | 
			
		||||
@ -73,12 +73,12 @@ void DeviceSession::Stop() {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void DeviceSession::AppendBuffers(std::span<AudioBuffer> buffers) const {
 | 
			
		||||
    for (size_t i = 0; i < buffers.size(); i++) {
 | 
			
		||||
void DeviceSession::AppendBuffers(std::span<const AudioBuffer> buffers) const {
 | 
			
		||||
    for (const auto& buffer : buffers) {
 | 
			
		||||
        Sink::SinkBuffer new_buffer{
 | 
			
		||||
            .frames = buffers[i].size / (channel_count * sizeof(s16)),
 | 
			
		||||
            .frames = buffer.size / (channel_count * sizeof(s16)),
 | 
			
		||||
            .frames_played = 0,
 | 
			
		||||
            .tag = buffers[i].tag,
 | 
			
		||||
            .tag = buffer.tag,
 | 
			
		||||
            .consumed = false,
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
@ -86,21 +86,21 @@ void DeviceSession::AppendBuffers(std::span<AudioBuffer> buffers) const {
 | 
			
		||||
            std::vector<s16> samples{};
 | 
			
		||||
            stream->AppendBuffer(new_buffer, samples);
 | 
			
		||||
        } else {
 | 
			
		||||
            std::vector<s16> samples(buffers[i].size / sizeof(s16));
 | 
			
		||||
            system.Memory().ReadBlockUnsafe(buffers[i].samples, samples.data(), buffers[i].size);
 | 
			
		||||
            std::vector<s16> samples(buffer.size / sizeof(s16));
 | 
			
		||||
            system.Memory().ReadBlockUnsafe(buffer.samples, samples.data(), buffer.size);
 | 
			
		||||
            stream->AppendBuffer(new_buffer, samples);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void DeviceSession::ReleaseBuffer(AudioBuffer& buffer) const {
 | 
			
		||||
void DeviceSession::ReleaseBuffer(const AudioBuffer& buffer) const {
 | 
			
		||||
    if (type == Sink::StreamType::In) {
 | 
			
		||||
        auto samples{stream->ReleaseBuffer(buffer.size / sizeof(s16))};
 | 
			
		||||
        system.Memory().WriteBlockUnsafe(buffer.samples, samples.data(), buffer.size);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool DeviceSession::IsBufferConsumed(AudioBuffer& buffer) const {
 | 
			
		||||
bool DeviceSession::IsBufferConsumed(const AudioBuffer& buffer) const {
 | 
			
		||||
    return played_sample_count >= buffer.end_timestamp;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -62,14 +62,14 @@ public:
 | 
			
		||||
     *
 | 
			
		||||
     * @param buffers - The buffers to play.
 | 
			
		||||
     */
 | 
			
		||||
    void AppendBuffers(std::span<AudioBuffer> buffers) const;
 | 
			
		||||
    void AppendBuffers(std::span<const AudioBuffer> buffers) const;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * (Audio In only) Pop samples from the backend, and write them back to this buffer's address.
 | 
			
		||||
     *
 | 
			
		||||
     * @param buffer - The buffer to write to.
 | 
			
		||||
     */
 | 
			
		||||
    void ReleaseBuffer(AudioBuffer& buffer) const;
 | 
			
		||||
    void ReleaseBuffer(const AudioBuffer& buffer) const;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Check if the buffer for the given tag has been consumed by the backend.
 | 
			
		||||
@ -78,7 +78,7 @@ public:
 | 
			
		||||
     *
 | 
			
		||||
     * @return true if the buffer has been consumed, otherwise false.
 | 
			
		||||
     */
 | 
			
		||||
    bool IsBufferConsumed(AudioBuffer& buffer) const;
 | 
			
		||||
    bool IsBufferConsumed(const AudioBuffer& buffer) const;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Start this device session, starting the backend stream.
 | 
			
		||||
 | 
			
		||||
@ -72,7 +72,7 @@ Kernel::KReadableEvent& In::GetBufferEvent() {
 | 
			
		||||
    return event->GetReadableEvent();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
f32 In::GetVolume() {
 | 
			
		||||
f32 In::GetVolume() const {
 | 
			
		||||
    std::scoped_lock l{parent_mutex};
 | 
			
		||||
    return system.GetVolume();
 | 
			
		||||
}
 | 
			
		||||
@ -82,17 +82,17 @@ void In::SetVolume(f32 volume) {
 | 
			
		||||
    system.SetVolume(volume);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool In::ContainsAudioBuffer(u64 tag) {
 | 
			
		||||
bool In::ContainsAudioBuffer(u64 tag) const {
 | 
			
		||||
    std::scoped_lock l{parent_mutex};
 | 
			
		||||
    return system.ContainsAudioBuffer(tag);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
u32 In::GetBufferCount() {
 | 
			
		||||
u32 In::GetBufferCount() const {
 | 
			
		||||
    std::scoped_lock l{parent_mutex};
 | 
			
		||||
    return system.GetBufferCount();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
u64 In::GetPlayedSampleCount() {
 | 
			
		||||
u64 In::GetPlayedSampleCount() const {
 | 
			
		||||
    std::scoped_lock l{parent_mutex};
 | 
			
		||||
    return system.GetPlayedSampleCount();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -102,7 +102,7 @@ public:
 | 
			
		||||
     *
 | 
			
		||||
     * @return The current volume.
 | 
			
		||||
     */
 | 
			
		||||
    f32 GetVolume();
 | 
			
		||||
    f32 GetVolume() const;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Set the system volume.
 | 
			
		||||
@ -117,21 +117,21 @@ public:
 | 
			
		||||
     * @param tag - The tag to search for.
 | 
			
		||||
     * @return True if the buffer is in the system, otherwise false.
 | 
			
		||||
     */
 | 
			
		||||
    bool ContainsAudioBuffer(u64 tag);
 | 
			
		||||
    bool ContainsAudioBuffer(u64 tag) const;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get the maximum number of buffers.
 | 
			
		||||
     *
 | 
			
		||||
     * @return The maximum number of buffers.
 | 
			
		||||
     */
 | 
			
		||||
    u32 GetBufferCount();
 | 
			
		||||
    u32 GetBufferCount() const;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get the total played sample count for this audio in.
 | 
			
		||||
     *
 | 
			
		||||
     * @return The played sample count.
 | 
			
		||||
     */
 | 
			
		||||
    u64 GetPlayedSampleCount();
 | 
			
		||||
    u64 GetPlayedSampleCount() const;
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    /// The AudioIn::Manager this audio in is registered with
 | 
			
		||||
 | 
			
		||||
@ -34,16 +34,16 @@ size_t System::GetSessionId() const {
 | 
			
		||||
    return session_id;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
std::string_view System::GetDefaultDeviceName() {
 | 
			
		||||
std::string_view System::GetDefaultDeviceName() const {
 | 
			
		||||
    return "BuiltInHeadset";
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
std::string_view System::GetDefaultUacDeviceName() {
 | 
			
		||||
std::string_view System::GetDefaultUacDeviceName() const {
 | 
			
		||||
    return "Uac";
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Result System::IsConfigValid(const std::string_view device_name,
 | 
			
		||||
                             const AudioInParameter& in_params) {
 | 
			
		||||
                             const AudioInParameter& in_params) const {
 | 
			
		||||
    if ((device_name.size() > 0) &&
 | 
			
		||||
        (device_name != GetDefaultDeviceName() && device_name != GetDefaultUacDeviceName())) {
 | 
			
		||||
        return Service::Audio::ERR_INVALID_DEVICE_NAME;
 | 
			
		||||
@ -114,12 +114,14 @@ bool System::AppendBuffer(const AudioInBuffer& buffer, const u64 tag) {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    const auto timestamp{buffers.GetNextTimestamp()};
 | 
			
		||||
    AudioBuffer new_buffer{.start_timestamp = timestamp,
 | 
			
		||||
                           .end_timestamp = timestamp + buffer.size / (channel_count * sizeof(s16)),
 | 
			
		||||
                           .played_timestamp = 0,
 | 
			
		||||
                           .samples = buffer.samples,
 | 
			
		||||
                           .tag = tag,
 | 
			
		||||
                           .size = buffer.size};
 | 
			
		||||
    const AudioBuffer new_buffer{
 | 
			
		||||
        .start_timestamp = timestamp,
 | 
			
		||||
        .end_timestamp = timestamp + buffer.size / (channel_count * sizeof(s16)),
 | 
			
		||||
        .played_timestamp = 0,
 | 
			
		||||
        .samples = buffer.samples,
 | 
			
		||||
        .tag = tag,
 | 
			
		||||
        .size = buffer.size,
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    buffers.AppendBuffer(new_buffer);
 | 
			
		||||
    RegisterBuffers();
 | 
			
		||||
@ -200,11 +202,11 @@ void System::SetVolume(const f32 volume_) {
 | 
			
		||||
    session->SetVolume(volume_);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool System::ContainsAudioBuffer(const u64 tag) {
 | 
			
		||||
bool System::ContainsAudioBuffer(const u64 tag) const {
 | 
			
		||||
    return buffers.ContainsBuffer(tag);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
u32 System::GetBufferCount() {
 | 
			
		||||
u32 System::GetBufferCount() const {
 | 
			
		||||
    return buffers.GetAppendedRegisteredCount();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -68,7 +68,7 @@ public:
 | 
			
		||||
     *
 | 
			
		||||
     * @return The default audio input device name.
 | 
			
		||||
     */
 | 
			
		||||
    std::string_view GetDefaultDeviceName();
 | 
			
		||||
    std::string_view GetDefaultDeviceName() const;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get the default USB audio input device name.
 | 
			
		||||
@ -77,7 +77,7 @@ public:
 | 
			
		||||
     *
 | 
			
		||||
     * @return The default USB audio input device name.
 | 
			
		||||
     */
 | 
			
		||||
    std::string_view GetDefaultUacDeviceName();
 | 
			
		||||
    std::string_view GetDefaultUacDeviceName() const;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Is the given initialize config valid?
 | 
			
		||||
@ -86,7 +86,7 @@ public:
 | 
			
		||||
     * @param in_params   - Input parameters, see AudioInParameter.
 | 
			
		||||
     * @return Result code.
 | 
			
		||||
     */
 | 
			
		||||
    Result IsConfigValid(std::string_view device_name, const AudioInParameter& in_params);
 | 
			
		||||
    Result IsConfigValid(std::string_view device_name, const AudioInParameter& in_params) const;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Initialize this system.
 | 
			
		||||
@ -218,14 +218,14 @@ public:
 | 
			
		||||
     * @param tag - Unique tag to search for.
 | 
			
		||||
     * @return True if the buffer is in the system, otherwise false.
 | 
			
		||||
     */
 | 
			
		||||
    bool ContainsAudioBuffer(u64 tag);
 | 
			
		||||
    bool ContainsAudioBuffer(u64 tag) const;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get the maximum number of usable buffers (default 32).
 | 
			
		||||
     *
 | 
			
		||||
     * @return The number of buffers.
 | 
			
		||||
     */
 | 
			
		||||
    u32 GetBufferCount();
 | 
			
		||||
    u32 GetBufferCount() const;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get the total number of samples played by this system.
 | 
			
		||||
 | 
			
		||||
@ -72,7 +72,7 @@ Kernel::KReadableEvent& Out::GetBufferEvent() {
 | 
			
		||||
    return event->GetReadableEvent();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
f32 Out::GetVolume() {
 | 
			
		||||
f32 Out::GetVolume() const {
 | 
			
		||||
    std::scoped_lock l{parent_mutex};
 | 
			
		||||
    return system.GetVolume();
 | 
			
		||||
}
 | 
			
		||||
@ -82,17 +82,17 @@ void Out::SetVolume(const f32 volume) {
 | 
			
		||||
    system.SetVolume(volume);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool Out::ContainsAudioBuffer(const u64 tag) {
 | 
			
		||||
bool Out::ContainsAudioBuffer(const u64 tag) const {
 | 
			
		||||
    std::scoped_lock l{parent_mutex};
 | 
			
		||||
    return system.ContainsAudioBuffer(tag);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
u32 Out::GetBufferCount() {
 | 
			
		||||
u32 Out::GetBufferCount() const {
 | 
			
		||||
    std::scoped_lock l{parent_mutex};
 | 
			
		||||
    return system.GetBufferCount();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
u64 Out::GetPlayedSampleCount() {
 | 
			
		||||
u64 Out::GetPlayedSampleCount() const {
 | 
			
		||||
    std::scoped_lock l{parent_mutex};
 | 
			
		||||
    return system.GetPlayedSampleCount();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -102,7 +102,7 @@ public:
 | 
			
		||||
     *
 | 
			
		||||
     * @return The current volume.
 | 
			
		||||
     */
 | 
			
		||||
    f32 GetVolume();
 | 
			
		||||
    f32 GetVolume() const;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Set the system volume.
 | 
			
		||||
@ -117,21 +117,21 @@ public:
 | 
			
		||||
     * @param tag - The tag to search for.
 | 
			
		||||
     * @return True if the buffer is in the system, otherwise false.
 | 
			
		||||
     */
 | 
			
		||||
    bool ContainsAudioBuffer(u64 tag);
 | 
			
		||||
    bool ContainsAudioBuffer(u64 tag) const;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get the maximum number of buffers.
 | 
			
		||||
     *
 | 
			
		||||
     * @return The maximum number of buffers.
 | 
			
		||||
     */
 | 
			
		||||
    u32 GetBufferCount();
 | 
			
		||||
    u32 GetBufferCount() const;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get the total played sample count for this audio out.
 | 
			
		||||
     *
 | 
			
		||||
     * @return The played sample count.
 | 
			
		||||
     */
 | 
			
		||||
    u64 GetPlayedSampleCount();
 | 
			
		||||
    u64 GetPlayedSampleCount() const;
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    /// The AudioOut::Manager this audio out is registered with
 | 
			
		||||
 | 
			
		||||
@ -27,11 +27,12 @@ void System::Finalize() {
 | 
			
		||||
    buffer_event->GetWritableEvent().Signal();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
std::string_view System::GetDefaultOutputDeviceName() {
 | 
			
		||||
std::string_view System::GetDefaultOutputDeviceName() const {
 | 
			
		||||
    return "DeviceOut";
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Result System::IsConfigValid(std::string_view device_name, const AudioOutParameter& in_params) {
 | 
			
		||||
Result System::IsConfigValid(std::string_view device_name,
 | 
			
		||||
                             const AudioOutParameter& in_params) const {
 | 
			
		||||
    if ((device_name.size() > 0) && (device_name != GetDefaultOutputDeviceName())) {
 | 
			
		||||
        return Service::Audio::ERR_INVALID_DEVICE_NAME;
 | 
			
		||||
    }
 | 
			
		||||
@ -113,12 +114,14 @@ bool System::AppendBuffer(const AudioOutBuffer& buffer, u64 tag) {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    const auto timestamp{buffers.GetNextTimestamp()};
 | 
			
		||||
    AudioBuffer new_buffer{.start_timestamp = timestamp,
 | 
			
		||||
                           .end_timestamp = timestamp + buffer.size / (channel_count * sizeof(s16)),
 | 
			
		||||
                           .played_timestamp = 0,
 | 
			
		||||
                           .samples = buffer.samples,
 | 
			
		||||
                           .tag = tag,
 | 
			
		||||
                           .size = buffer.size};
 | 
			
		||||
    const AudioBuffer new_buffer{
 | 
			
		||||
        .start_timestamp = timestamp,
 | 
			
		||||
        .end_timestamp = timestamp + buffer.size / (channel_count * sizeof(s16)),
 | 
			
		||||
        .played_timestamp = 0,
 | 
			
		||||
        .samples = buffer.samples,
 | 
			
		||||
        .tag = tag,
 | 
			
		||||
        .size = buffer.size,
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    buffers.AppendBuffer(new_buffer);
 | 
			
		||||
    RegisterBuffers();
 | 
			
		||||
@ -198,11 +201,11 @@ void System::SetVolume(const f32 volume_) {
 | 
			
		||||
    session->SetVolume(volume_);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool System::ContainsAudioBuffer(const u64 tag) {
 | 
			
		||||
bool System::ContainsAudioBuffer(const u64 tag) const {
 | 
			
		||||
    return buffers.ContainsBuffer(tag);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
u32 System::GetBufferCount() {
 | 
			
		||||
u32 System::GetBufferCount() const {
 | 
			
		||||
    return buffers.GetAppendedRegisteredCount();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -68,7 +68,7 @@ public:
 | 
			
		||||
     *
 | 
			
		||||
     * @return The default audio output device name.
 | 
			
		||||
     */
 | 
			
		||||
    std::string_view GetDefaultOutputDeviceName();
 | 
			
		||||
    std::string_view GetDefaultOutputDeviceName() const;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Is the given initialize config valid?
 | 
			
		||||
@ -77,7 +77,7 @@ public:
 | 
			
		||||
     * @param in_params   - Input parameters, see AudioOutParameter.
 | 
			
		||||
     * @return Result code.
 | 
			
		||||
     */
 | 
			
		||||
    Result IsConfigValid(std::string_view device_name, const AudioOutParameter& in_params);
 | 
			
		||||
    Result IsConfigValid(std::string_view device_name, const AudioOutParameter& in_params) const;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Initialize this system.
 | 
			
		||||
@ -209,14 +209,14 @@ public:
 | 
			
		||||
     * @param tag - Unique tag to search for.
 | 
			
		||||
     * @return True if the buffer is in the system, otherwise false.
 | 
			
		||||
     */
 | 
			
		||||
    bool ContainsAudioBuffer(u64 tag);
 | 
			
		||||
    bool ContainsAudioBuffer(u64 tag) const;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get the maximum number of usable buffers (default 32).
 | 
			
		||||
     *
 | 
			
		||||
     * @return The number of buffers.
 | 
			
		||||
     */
 | 
			
		||||
    u32 GetBufferCount();
 | 
			
		||||
    u32 GetBufferCount() const;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get the total number of samples played by this system.
 | 
			
		||||
 | 
			
		||||
@ -50,7 +50,7 @@ u32 ADSP::GetRemainCommandCount(const u32 session_id) const {
 | 
			
		||||
    return render_mailbox.GetRemainCommandCount(session_id);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void ADSP::SendCommandBuffer(const u32 session_id, CommandBuffer& command_buffer) {
 | 
			
		||||
void ADSP::SendCommandBuffer(const u32 session_id, const CommandBuffer& command_buffer) {
 | 
			
		||||
    render_mailbox.SetCommandBuffer(session_id, command_buffer);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -131,7 +131,7 @@ public:
 | 
			
		||||
     * @param session_id     - The session id to check (0 or 1).
 | 
			
		||||
     * @param command_buffer - The command buffer to process.
 | 
			
		||||
     */
 | 
			
		||||
    void SendCommandBuffer(u32 session_id, CommandBuffer& command_buffer);
 | 
			
		||||
    void SendCommandBuffer(u32 session_id, const CommandBuffer& command_buffer);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Clear the command buffers (does not clear the time taken or the remaining command count)
 | 
			
		||||
 | 
			
		||||
@ -51,7 +51,7 @@ CommandBuffer& AudioRenderer_Mailbox::GetCommandBuffer(const s32 session_id) {
 | 
			
		||||
    return command_buffers[session_id];
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void AudioRenderer_Mailbox::SetCommandBuffer(const u32 session_id, CommandBuffer& buffer) {
 | 
			
		||||
void AudioRenderer_Mailbox::SetCommandBuffer(const u32 session_id, const CommandBuffer& buffer) {
 | 
			
		||||
    command_buffers[session_id] = buffer;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -91,7 +91,7 @@ public:
 | 
			
		||||
     * @param session_id - The session id to get (0 or 1).
 | 
			
		||||
     * @param buffer     - The command buffer to set.
 | 
			
		||||
     */
 | 
			
		||||
    void SetCommandBuffer(u32 session_id, CommandBuffer& buffer);
 | 
			
		||||
    void SetCommandBuffer(u32 session_id, const CommandBuffer& buffer);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get the total render time taken for the last command lists sent.
 | 
			
		||||
 | 
			
		||||
@ -34,7 +34,7 @@ void BehaviorInfo::ClearError() {
 | 
			
		||||
    error_count = 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void BehaviorInfo::AppendError(ErrorInfo& error) {
 | 
			
		||||
void BehaviorInfo::AppendError(const ErrorInfo& error) {
 | 
			
		||||
    LOG_ERROR(Service_Audio, "Error during RequestUpdate, reporting code {:04X} address {:08X}",
 | 
			
		||||
              error.error_code.raw, error.address);
 | 
			
		||||
    if (error_count < MaxErrors) {
 | 
			
		||||
@ -42,7 +42,7 @@ void BehaviorInfo::AppendError(ErrorInfo& error) {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void BehaviorInfo::CopyErrorInfo(std::span<ErrorInfo> out_errors, u32& out_count) {
 | 
			
		||||
void BehaviorInfo::CopyErrorInfo(std::span<ErrorInfo> out_errors, u32& out_count) const {
 | 
			
		||||
    out_count = std::min(error_count, MaxErrors);
 | 
			
		||||
 | 
			
		||||
    for (size_t i = 0; i < MaxErrors; i++) {
 | 
			
		||||
 | 
			
		||||
@ -94,7 +94,7 @@ public:
 | 
			
		||||
     *
 | 
			
		||||
     * @param error - The new error.
 | 
			
		||||
     */
 | 
			
		||||
    void AppendError(ErrorInfo& error);
 | 
			
		||||
    void AppendError(const ErrorInfo& error);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Copy errors to the given output container.
 | 
			
		||||
@ -102,7 +102,7 @@ public:
 | 
			
		||||
     * @param out_errors - Output container to receive the errors.
 | 
			
		||||
     * @param out_count  - The number of errors written.
 | 
			
		||||
     */
 | 
			
		||||
    void CopyErrorInfo(std::span<ErrorInfo> out_errors, u32& out_count);
 | 
			
		||||
    void CopyErrorInfo(std::span<ErrorInfo> out_errors, u32& out_count) const;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Update the behaviour flags.
 | 
			
		||||
 | 
			
		||||
@ -485,7 +485,7 @@ Result InfoUpdater::UpdateBehaviorInfo(BehaviorInfo& behaviour_) {
 | 
			
		||||
    return ResultSuccess;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Result InfoUpdater::UpdateErrorInfo(BehaviorInfo& behaviour_) {
 | 
			
		||||
Result InfoUpdater::UpdateErrorInfo(const BehaviorInfo& behaviour_) {
 | 
			
		||||
    auto out_params{reinterpret_cast<BehaviorInfo::OutStatus*>(output)};
 | 
			
		||||
    behaviour_.CopyErrorInfo(out_params->errors, out_params->error_count);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -130,7 +130,7 @@ public:
 | 
			
		||||
     * @param behaviour - Behaviour to update.
 | 
			
		||||
     * @return Result code.
 | 
			
		||||
     */
 | 
			
		||||
    Result UpdateErrorInfo(BehaviorInfo& behaviour);
 | 
			
		||||
    Result UpdateErrorInfo(const BehaviorInfo& behaviour);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Update splitter.
 | 
			
		||||
 | 
			
		||||
@ -99,7 +99,7 @@ public:
 | 
			
		||||
            return out_sample;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Common::FixedPoint<50, 14> Read() {
 | 
			
		||||
        Common::FixedPoint<50, 14> Read() const {
 | 
			
		||||
            return *output;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@ -110,7 +110,7 @@ public:
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Common::FixedPoint<50, 14> TapOut(const s32 index) {
 | 
			
		||||
        Common::FixedPoint<50, 14> TapOut(const s32 index) const {
 | 
			
		||||
            auto out{input - (index + 1)};
 | 
			
		||||
            if (out < buffer.data()) {
 | 
			
		||||
                out += max_delay + 1;
 | 
			
		||||
 | 
			
		||||
@ -95,7 +95,7 @@ public:
 | 
			
		||||
            return out_sample;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Common::FixedPoint<50, 14> Read() {
 | 
			
		||||
        Common::FixedPoint<50, 14> Read() const {
 | 
			
		||||
            return *output;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@ -106,7 +106,7 @@ public:
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Common::FixedPoint<50, 14> TapOut(const s32 index) {
 | 
			
		||||
        Common::FixedPoint<50, 14> TapOut(const s32 index) const {
 | 
			
		||||
            auto out{input - (index + 1)};
 | 
			
		||||
            if (out < buffer.data()) {
 | 
			
		||||
                out += sample_count;
 | 
			
		||||
 | 
			
		||||
@ -56,7 +56,7 @@ class NodeStates {
 | 
			
		||||
         *
 | 
			
		||||
         * @return The current stack position.
 | 
			
		||||
         */
 | 
			
		||||
        u32 Count() {
 | 
			
		||||
        u32 Count() const {
 | 
			
		||||
            return pos;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@ -83,7 +83,7 @@ class NodeStates {
 | 
			
		||||
         *
 | 
			
		||||
         * @return The node on the top of the stack.
 | 
			
		||||
         */
 | 
			
		||||
        u32 top() {
 | 
			
		||||
        u32 top() const {
 | 
			
		||||
            return stack[pos - 1];
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -151,7 +151,7 @@ public:
 | 
			
		||||
     *
 | 
			
		||||
     * @return The number of queued buffers.
 | 
			
		||||
     */
 | 
			
		||||
    u32 GetQueueSize() {
 | 
			
		||||
    u32 GetQueueSize() const {
 | 
			
		||||
        return queued_buffers.load();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user