swesterfeld commented on this pull request.
> + *
+ * Implementation: the synchronization between the two threads is only
+ * implemented by two index variables (read_frame_pos and write_frame_pos)
+ * for which atomic integer reads and writes are required. Since the
+ * producer thread only modifies the write_frame_pos and the consumer thread
+ * only modifies the read_frame_pos, no compare-and-swap or similar
+ * operations are needed to avoid concurrent writes.
+ */
+template<class T>
+class FrameRingBuffer {
+ //BIRNET_PRIVATE_COPY (FrameRingBuffer);
+private:
+ vector<vector<T> > channel_buffer_;
+ std::atomic<int> atomic_read_frame_pos_;
+ std::atomic<int> atomic_write_frame_pos_;
+ uint channel_buffer_size_; // = n_frames + 1; the extra
frame allows us to
Of course. Fixed. Seems the jack driver predates C++11.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/tim-janik/beast/pull/128#discussion_r326864858
_______________________________________________
beast mailing list
beast@gnome.org
https://mail.gnome.org/mailman/listinfo/beast