dxd - dynax driver framework 3.0.0d222
cross platform open source driver development framework
Loading...
Searching...
No Matches
dxd::streaming::channels< channel_t > Class Template Reference

one client's planar channel double buffers for one pin More...

#include <dxd_stream_device.h>

Collaboration diagram for dxd::streaming::channels< channel_t >:

Public Member Functions

void free ()
os_result initialize (uint32_t iosize, const uint64_t *channel_map, unsigned int channels)
 (re-)creates the buffers the given channel map asks for, at the given iosize
 ~channels ()

Public Attributes

class channel * channel [2][max] {}
 [switch][channel], allocated as the client maps them
uint32_t iosize = 0
 samples per channel buffer, as the attaching client asked

Static Public Attributes

static constexpr unsigned int max = 64
 the channel map's width on the wire

Detailed Description

template<typename channel_t = int>
class dxd::streaming::channels< channel_t >

one client's planar channel double buffers for one pin

Kernel streaming staging: the client's engine works on these instead of the ring, and the device's tick de-/interleaves them against it. The control block carries the frame counter and the last two buffer switch timestamps.

Constructor & Destructor Documentation

◆ ~channels()

template<typename channel_t = int>
dxd::streaming::channels< channel_t >::~channels ( )
inline
Here is the call graph for this function:

Member Function Documentation

◆ free()

template<typename channel_t = int>
void dxd::streaming::channels< channel_t >::free ( )
inline
Here is the caller graph for this function:

◆ initialize()

template<typename channel_t = int>
os_result dxd::streaming::channels< channel_t >::initialize ( uint32_t iosize,
const uint64_t * channel_map,
unsigned int channels )
inline

(re-)creates the buffers the given channel map asks for, at the given iosize

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ channel

template<typename channel_t = int>
class channel* dxd::streaming::channels< channel_t >::channel[2][max] {}

[switch][channel], allocated as the client maps them

◆ iosize

template<typename channel_t = int>
uint32_t dxd::streaming::channels< channel_t >::iosize = 0

samples per channel buffer, as the attaching client asked

◆ max

template<typename channel_t = int>
unsigned int dxd::streaming::channels< channel_t >::max = 64
staticconstexpr

the channel map's width on the wire


The documentation for this class was generated from the following file:

(c) copyright 2009 dynamic acoustics e.U. generated on

a closed source license may be obtained by requesting a written permission from dynamic acoustics e.U.
however - governmental use generally and military use especially is strictly prohibited though.