From f437c11caf2c1afc0b7d0fdb808be10d7b1adfcf Mon Sep 17 00:00:00 2001 From: bunnei Date: Sat, 28 Jul 2018 13:44:50 -0400 Subject: audio_core: Implement Sink and SinkStream interfaces with cubeb. --- src/audio_core/stream.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/audio_core/stream.h') diff --git a/src/audio_core/stream.h b/src/audio_core/stream.h index 5c1005899..35253920e 100644 --- a/src/audio_core/stream.h +++ b/src/audio_core/stream.h @@ -10,6 +10,7 @@ #include #include "audio_core/buffer.h" +#include "audio_core/sink_stream.h" #include "common/assert.h" #include "common/common_types.h" #include "core/core_timing.h" @@ -31,7 +32,8 @@ public: /// Callback function type, used to change guest state on a buffer being released using ReleaseCallback = std::function; - Stream(int sample_rate, Format format, ReleaseCallback&& release_callback); + Stream(u32 sample_rate, Format format, ReleaseCallback&& release_callback, + SinkStream& sink_stream); /// Plays the audio stream void Play(); @@ -85,7 +87,7 @@ private: /// Gets the number of core cycles when the specified buffer will be released s64 GetBufferReleaseCycles(const Buffer& buffer) const; - int sample_rate; ///< Sample rate of the stream + u32 sample_rate; ///< Sample rate of the stream Format format; ///< Format of the stream ReleaseCallback release_callback; ///< Buffer release callback for the stream State state{State::Stopped}; ///< Playback state of the stream @@ -93,6 +95,7 @@ private: BufferPtr active_buffer; ///< Actively playing buffer in the stream std::queue queued_buffers; ///< Buffers queued to be played in the stream std::queue released_buffers; ///< Buffers recently released from the stream + SinkStream& sink_stream; ///< Output sink for the stream }; using StreamPtr = std::shared_ptr; -- cgit v1.2.3