49 lines
1.3 KiB
C++
49 lines
1.3 KiB
C++
|
//
|
||
|
// Created by wolverindev on 07.02.20.
|
||
|
//
|
||
|
|
||
|
#include "ring_buffer.h"
|
||
|
#include <soundio/soundio.h>
|
||
|
|
||
|
|
||
|
using namespace tc;
|
||
|
|
||
|
ring_buffer::ring_buffer(size_t cap) {
|
||
|
this->handle = soundio_ring_buffer_create(nullptr, cap);
|
||
|
}
|
||
|
|
||
|
ring_buffer::~ring_buffer() {
|
||
|
soundio_ring_buffer_destroy((SoundIoRingBuffer*) this->handle);
|
||
|
}
|
||
|
|
||
|
size_t ring_buffer::capacity() const {
|
||
|
return soundio_ring_buffer_capacity((SoundIoRingBuffer*) this->handle);
|
||
|
}
|
||
|
|
||
|
size_t ring_buffer::free_count() const {
|
||
|
return soundio_ring_buffer_free_count((SoundIoRingBuffer*) this->handle);
|
||
|
}
|
||
|
|
||
|
size_t ring_buffer::fill_count() const {
|
||
|
return soundio_ring_buffer_fill_count((SoundIoRingBuffer*) this->handle);
|
||
|
}
|
||
|
|
||
|
char* ring_buffer::write_ptr() {
|
||
|
return soundio_ring_buffer_write_ptr((SoundIoRingBuffer*) this->handle);
|
||
|
}
|
||
|
|
||
|
void ring_buffer::advance_write_ptr(size_t bytes) {
|
||
|
soundio_ring_buffer_advance_write_ptr((SoundIoRingBuffer*) this->handle, bytes);
|
||
|
}
|
||
|
|
||
|
const void* ring_buffer::read_ptr() const {
|
||
|
return soundio_ring_buffer_read_ptr((SoundIoRingBuffer*) this->handle);
|
||
|
}
|
||
|
|
||
|
void ring_buffer::advance_read_ptr(size_t bytes) {
|
||
|
soundio_ring_buffer_advance_read_ptr((SoundIoRingBuffer*) this->handle, bytes);
|
||
|
}
|
||
|
|
||
|
void ring_buffer::clear() {
|
||
|
soundio_ring_buffer_clear((SoundIoRingBuffer*) this->handle);
|
||
|
}
|