dxd - dynax driver framework 3.0.0d222
cross platform open source driver development framework
Loading...
Searching...
No Matches
dxd::streaming::domain Class Reference

the clock domain every client rides on: the DAW clock More...

#include <dxd_stream_device.h>

Inheritance diagram for dxd::streaming::domain:
Collaboration diagram for dxd::streaming::domain:

Public Member Functions

return_t each (exec_t exec)
doubly::linked::abstract::eventpop (doubly::linked::abstract::event *item)
 remove participating event, acquirable up to DISPATCH_LEVEL
doubly::linked::abstract::eventpop ()
 pop item from head
listprint ()
doubly::linked::abstract::eventpush (doubly::linked::abstract::event *item)
 push participating event, acquirable up to DISPATCH_LEVEL
item_t * push (item_t *item)
 push item to head
os_result signal ()
os_result tick (uint64_t samples, uint64_t frame, int64_t timestamp)

Protected Member Functions

void __lock ()
void __lock ()
bool __trylock ()
void __unlock ()
void __unlock ()
 operator const::KSPIN_LOCK & () const
 operator const::KSPIN_LOCK * () const
 operator::KSPIN_LOCK & ()
 operator::KSPIN_LOCK * ()

Protected Attributes

os_result status =not_initialized

Detailed Description

the clock domain every client rides on: the DAW clock

tick() takes the samples the bus advanced its rings by and signals each client once per that client's own iosize, so clients of different buffer sizes share one domain. An OS event carries no count: a client that missed ticks sees one signal and takes the frame counter for what it missed.

Member Function Documentation

◆ __lock() [1/2]

void dxd::spinlock::__lock ( )
inlineprotectedinherited

◆ __lock() [2/2]

void dxd::spinlock::__lock ( )
inlineprotectedinherited

◆ __trylock()

bool dxd::spinlock::__trylock ( )
inlineprotectedinherited

◆ __unlock() [1/2]

void dxd::spinlock::__unlock ( )
inlineprotectedinherited

◆ __unlock() [2/2]

void dxd::spinlock::__unlock ( )
inlineprotectedinherited

◆ each()

return_t dxd::linked::list< doubly::linked::abstract::event >::each ( exec_t exec)
inlineinherited
Here is the caller graph for this function:

◆ operator const::KSPIN_LOCK &()

dxd::spinlock::operator const::KSPIN_LOCK & ( ) const
inlineinherited

◆ operator const::KSPIN_LOCK *()

dxd::spinlock::operator const::KSPIN_LOCK * ( ) const
inlineinherited

◆ operator::KSPIN_LOCK &()

dxd::spinlock::operator::KSPIN_LOCK & ( )
inlineinherited

◆ operator::KSPIN_LOCK *()

dxd::spinlock::operator::KSPIN_LOCK * ( )
inlineinherited

◆ pop() [1/2]

doubly::linked::abstract::event * dxd::broadcast::pop ( doubly::linked::abstract::event * item)
inlineinherited

remove participating event, acquirable up to DISPATCH_LEVEL

Here is the call graph for this function:

◆ pop() [2/2]

◆ print()

Here is the call graph for this function:

◆ push() [1/2]

doubly::linked::abstract::event * dxd::broadcast::push ( doubly::linked::abstract::event * item)
inlineinherited

push participating event, acquirable up to DISPATCH_LEVEL

Here is the call graph for this function:

◆ push() [2/2]

template<typename item_t = link>
item_t * dxd::linked::list< item_t >::push ( item_t * item)
inlineinherited

push item to head

Here is the caller graph for this function:

◆ signal()

os_result dxd::broadcast::signal ( )
inlineinherited
Here is the call graph for this function:

◆ tick()

os_result dxd::streaming::domain::tick ( uint64_t samples,
uint64_t frame,
int64_t timestamp )
inline
Here is the call graph for this function:

Member Data Documentation

◆ status

os_result dxd::spinlock::status =not_initialized
inherited

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.