From aac85299eaa604d6ddad1b601855467ca0ff1b94 Mon Sep 17 00:00:00 2001 From: Connor McLaughlin Date: Fri, 4 Jun 2021 13:37:23 +1000 Subject: [PATCH] AudioStream: Make fields protected instead of private --- src/common/audio_stream.h | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/src/common/audio_stream.h b/src/common/audio_stream.h index 275d66aac..157429f8b 100644 --- a/src/common/audio_stream.h +++ b/src/common/audio_stream.h @@ -72,15 +72,29 @@ protected: return s16((s32(sample) * s32(volume)) / 100); } + ALWAYS_INLINE u32 GetBufferSpace() const { return (m_max_samples - m_buffer.GetSize()); } + ALWAYS_INLINE void ReleaseBufferLock(std::unique_lock lock) + { + // lock is released implicitly by destruction + m_buffer_draining_cv.notify_one(); + } + bool SetBufferSize(u32 buffer_size); bool IsDeviceOpen() const { return (m_output_sample_rate > 0); } + void EnsureBuffer(u32 size); void LockedEmptyBuffers(); u32 GetSamplesAvailable() const; u32 GetSamplesAvailableLocked() const; void ReadFrames(SampleType* samples, u32 num_frames, bool apply_volume); void DropFrames(u32 count); + void CreateResampler(); + void DestroyResampler(); + void ResetResampler(); + void InternalSetInputSampleRate(u32 sample_rate); + void ResampleInput(std::unique_lock buffer_lock); + u32 m_input_sample_rate = 0; u32 m_output_sample_rate = 0; u32 m_channels = 0; @@ -89,22 +103,6 @@ protected: // volume, 0-100 u32 m_output_volume = FullVolume; -private: - ALWAYS_INLINE u32 GetBufferSpace() const { return (m_max_samples - m_buffer.GetSize()); } - ALWAYS_INLINE void ReleaseBufferLock(std::unique_lock lock) - { - // lock is released implicitly by destruction - m_buffer_draining_cv.notify_one(); - } - - void EnsureBuffer(u32 size); - - void CreateResampler(); - void DestroyResampler(); - void ResetResampler(); - void InternalSetInputSampleRate(u32 sample_rate); - void ResampleInput(std::unique_lock buffer_lock); - HeapFIFOQueue m_buffer; mutable std::mutex m_buffer_mutex; std::condition_variable m_buffer_draining_cv;