dxd - dynax driver framework 3.0.1d223
cross platform open source driver development framework
Loading...
Searching...
No Matches
dxd::portcls::device< streaming_device_t > Class Template Reference

the adapter device's WaveRT endpoints over its streaming device's rings More...

#include <dxd_portcls_audio.h>

Inheritance diagram for dxd::portcls::device< streaming_device_t >:
Collaboration diagram for dxd::portcls::device< streaming_device_t >:

Classes

class  stream
 WaveRT pin stream: exchanges the frames its device's tick hands it with its stream's ring. More...

Public Types

typedef decltype(super::desc) desc_t

Static Public Attributes

static constexpr unsigned int capacity
 the desc's pin capacity: PcAddAdapterDevice MaxObjects

Protected Member Functions

os_result create_miniport (const wchar_t *name, ::IResourceList *wdm_reslist, unsigned int port) override
 one WaveRT subdevice per audio pin, one DMus subdevice per MIDI pin; other pins are the control clients' alone
void halt () override
os_result run () override
void tick (uint32_t lines, uint64_t frame, int64_t timestamp) override

Friends

template<typename>
class dmus::stream
class stream
 endpoint discovery and stream configuration
template<typename>
class wavert::miniport

Detailed Description

template<typename streaming_device_t>
class dxd::portcls::device< streaming_device_t >

the adapter device's WaveRT endpoints over its streaming device's rings

Every audio pin becomes a WaveRT subdevice exchanging with its stream's ring, MIDI pins wait for their DMus miniport. The bus's tick advances the running endpoints by the lines its reference stream moved; the session's start and end narrow and widen the endpoints' rates.

Member Typedef Documentation

◆ desc_t

template<typename streaming_device_t>
typedef decltype(super::desc) dxd::portcls::device< streaming_device_t >::desc_t

Member Function Documentation

◆ create_miniport()

template<typename streaming_device_t>
os_result dxd::portcls::device< streaming_device_t >::create_miniport ( const wchar_t * name,
::IResourceList * wdm_reslist,
unsigned int port )
inlineoverrideprotected

one WaveRT subdevice per audio pin, one DMus subdevice per MIDI pin; other pins are the control clients' alone

Here is the call graph for this function:

◆ halt()

template<typename streaming_device_t>
void dxd::portcls::device< streaming_device_t >::halt ( )
inlineoverrideprotected

◆ run()

template<typename streaming_device_t>
os_result dxd::portcls::device< streaming_device_t >::run ( )
inlineoverrideprotected

< an open endpoint holds the domain already

◆ tick()

template<typename streaming_device_t>
void dxd::portcls::device< streaming_device_t >::tick ( uint32_t lines,
uint64_t frame,
int64_t timestamp )
inlineoverrideprotected
Here is the call graph for this function:

◆ dmus::stream

template<typename streaming_device_t>
template<typename>
friend class dmus::stream
friend

◆ stream

template<typename streaming_device_t>
friend class stream
friend

endpoint discovery and stream configuration

◆ wavert::miniport

template<typename streaming_device_t>
template<typename>
friend class wavert::miniport
friend

Member Data Documentation

◆ capacity

template<typename streaming_device_t>
unsigned int dxd::portcls::device< streaming_device_t >::capacity
staticconstexpr
Initial value:
=
sizeof(desc_t::stream)/ sizeof(desc_t::stream[0])* (sizeof(desc_t::stream[0].pin)/ sizeof(desc_t::stream[0].pin[0]))

the desc's pin capacity: PcAddAdapterDevice MaxObjects


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.