mf
Media Framework
|
Ring buffer. More...
#include <ring.h>
Public Types | |
using | section_view_type = frame_array_view |
Public Types inherited from mf::ndarray_generic< raw_ring_allocator > | |
using | view_type = ndarray_view_generic< 2 > |
Public Types inherited from mf::ndarray< 2, byte, raw_ring_allocator > | |
using | view_type = ndarray_view< Dim, byte > |
using | const_view_type = ndarray_view< Dim, const byte > |
using | index_type = typename view_type::index_type |
using | coordinates_type = typename view_type::coordinates_type |
using | shape_type = typename view_type::shape_type |
using | strides_type = typename view_type::strides_type |
using | span_type = typename view_type::span_type |
using | value_type = byte |
using | pointer = byte * |
using | const_pointer = const byte * |
using | reference = byte & |
using | const_reference = const byte & |
using | iterator = typename view_type::iterator |
using | const_iterator = typename const_view_type::iterator |
Public Member Functions | |
ring (const frame_array_properties &) | |
void | initialize () |
time_unit | total_duration () const noexcept |
time_unit | frame_length () const noexcept |
time_unit | writable_duration () const |
time_unit | readable_duration () const |
section_view_type | begin_write (time_unit duration) |
void | end_write (time_unit written_duration) |
section_view_type | begin_read (time_unit duration) |
void | end_read (time_unit read_duration) |
void | skip (time_unit duration) |
Public Member Functions inherited from mf::ndarray_generic< raw_ring_allocator > | |
ndarray_generic (const ndarray_generic_properties &, std::size_t padding=0, const raw_ring_allocator &=raw_ring_allocator()) | |
ndarray_generic (const ndarray_generic &)=default | |
const frame_format & | format () const noexcept |
view_type | view () |
Public Member Functions inherited from mf::ndarray< 2, byte, raw_ring_allocator > | |
ndarray (const shape_type &shp, const raw_ring_allocator &allocator=raw_ring_allocator()) | |
ndarray (const const_view_type &) | |
ndarray (const ndarray &arr) | |
~ndarray () | |
ndarray & | operator= (const const_view_type &arr) |
ndarray & | operator= (const ndarray &arr) |
view_type | view () |
const_view_type | view () const |
const_view_type | cview () const |
operator view_type () noexcept | |
operator const_view_type () const noexcept | |
coordinates_type | index_to_coordinates (const index_type &index) const |
index_type | coordinates_to_index (const coordinates_type &coord) const |
pointer | coordinates_to_pointer (const coordinates_type &coord) |
const_pointer | coordinates_to_pointer (const coordinates_type &coord) const |
std::size_t | size () const noexcept |
pointer | start () noexcept |
const_pointer | start () const noexcept |
const shape_type & | shape () const noexcept |
const strides_type & | strides () const noexcept |
std::size_t | contiguous_length () const noexcept |
std::size_t | padding () const noexcept |
decltype(auto) | section (Args &&...args) |
decltype(auto) | section (Args &&...args) const |
decltype(auto) | slice (Args &&...args) |
decltype(auto) | slice (Args &&...args) const |
decltype(auto) | operator() (Args &&...args) |
decltype(auto) | operator() (Args &&...args) const |
decltype(auto) | operator[] (Args &&...args) |
decltype(auto) | operator[] (Args &&...args) const |
decltype(auto) | at (Args &&...args) |
decltype(auto) | at (Args &&...args) const |
iterator | begin () |
const_iterator | begin () const |
const_iterator | cbegin () const |
iterator | end () |
const_iterator | end () const |
const_iterator | cend () const |
Additional Inherited Members | |
Static Public Attributes inherited from mf::ndarray< 2, byte, raw_ring_allocator > | |
static constexpr std::size_t | dimension |
Protected Member Functions inherited from mf::ndarray< 2, byte, raw_ring_allocator > | |
void | allocate_ () |
void | deallocate_ () |
ndarray (const shape_type &shape, std::size_t padding, std::size_t stride, const raw_ring_allocator &allocator) | |
Constructor for use by derived classes. More... | |
strides_type | strides_with_padding_ (const shape_type &shape, std::size_t padding) |
Protected Attributes inherited from mf::ndarray< 2, byte, raw_ring_allocator > | |
raw_ring_allocator | allocator_ |
Raw allocator used to allocate memory, in bytes. More... | |
std::size_t | stride_ |
Stride of elements, in bytes. More... | |
std::size_t | padding_ |
Padding between frames, in bytes. More... | |
std::size_t | allocated_size_ |
Allocated memory size, in bytes. More... | |
view_type | view_ |
View used to access items. More... | |
Ring buffer.
Circular buffer of frames. Derived from ndarray_generic, frames are type-erased n-dimensional arrays. FIFO interface to read/write frames to the ring buffer.
|
explicit |
auto mf::ring::begin_read | ( | time_unit | duration | ) |
auto mf::ring::begin_write | ( | time_unit | duration | ) |
void mf::ring::end_read | ( | time_unit | read_duration | ) |
void mf::ring::end_write | ( | time_unit | written_duration | ) |
|
inlinenoexcept |
void mf::ring::initialize | ( | ) |
time_unit mf::ring::readable_duration | ( | ) | const |
void mf::ring::skip | ( | time_unit | duration | ) |
|
inlinenoexcept |
time_unit mf::ring::writable_duration | ( | ) | const |