1
1
Fork 0
forked from suyu/suyu

device_session: Pass arguments by const-ref in relevant functions

These functions don't modify the passed in audio buffers, so we can
signify that in the interface.
This commit is contained in:
Lioncash 2022-09-16 09:29:28 -04:00
parent e85bda5f31
commit a278fa6e2a
3 changed files with 7 additions and 7 deletions

View file

@ -93,7 +93,7 @@ public:
* *
* @return Is the buffer was released. * @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}; std::scoped_lock l{lock};
bool buffer_released{false}; bool buffer_released{false};
while (registered_count > 0) { while (registered_count > 0) {

View file

@ -73,7 +73,7 @@ void DeviceSession::Stop() {
} }
} }
void DeviceSession::AppendBuffers(std::span<AudioBuffer> buffers) const { void DeviceSession::AppendBuffers(std::span<const AudioBuffer> buffers) const {
for (size_t i = 0; i < buffers.size(); i++) { for (size_t i = 0; i < buffers.size(); i++) {
Sink::SinkBuffer new_buffer{ Sink::SinkBuffer new_buffer{
.frames = buffers[i].size / (channel_count * sizeof(s16)), .frames = buffers[i].size / (channel_count * sizeof(s16)),
@ -93,14 +93,14 @@ void DeviceSession::AppendBuffers(std::span<AudioBuffer> buffers) const {
} }
} }
void DeviceSession::ReleaseBuffer(AudioBuffer& buffer) const { void DeviceSession::ReleaseBuffer(const AudioBuffer& buffer) const {
if (type == Sink::StreamType::In) { if (type == Sink::StreamType::In) {
auto samples{stream->ReleaseBuffer(buffer.size / sizeof(s16))}; auto samples{stream->ReleaseBuffer(buffer.size / sizeof(s16))};
system.Memory().WriteBlockUnsafe(buffer.samples, samples.data(), buffer.size); 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; return played_sample_count >= buffer.end_timestamp;
} }

View file

@ -62,14 +62,14 @@ public:
* *
* @param buffers - The buffers to play. * @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. * (Audio In only) Pop samples from the backend, and write them back to this buffer's address.
* *
* @param buffer - The buffer to write to. * @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. * 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. * @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. * Start this device session, starting the backend stream.