Просмотр исходного кода

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.
Lioncash 3 лет назад
Родитель
Сommit
a278fa6e2a

+ 1 - 1
src/audio_core/device/audio_buffers.h

@@ -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) {

+ 3 - 3
src/audio_core/device/device_session.cpp

@@ -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;
 }
 }
 
 

+ 3 - 3
src/audio_core/device/device_session.h

@@ -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.