dxd - dynax driver framework 3.0.2
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 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, every MIDI pin a DMus subdevice. 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:

◆ 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: