dxd - dynax driver framework 3.0.1d223
cross platform open source driver development framework
Loading...
Searching...
No Matches
dxd::wavert::miniport< stream_t > Class Template Reference

wavert::miniport More...

#include <dxd_portcls_audio.h>

Inheritance diagram for dxd::wavert::miniport< stream_t >:
Collaboration diagram for dxd::wavert::miniport< stream_t >:

Public Member Functions

void format_change (uint32_t samplerate={})
 the OS pin's ranges narrow to the given rate, widen to the bitmap without one
 miniport (const wchar_t *portname, const ::DEVICE_OBJECT *wdm_bus, const ::DEVICE_OBJECT *wdm_pdo, const dx::log &log, typename stream_t::backend &backend, const typename stream_t::stream_desc &stream_desc, unsigned int idx, dx::stream::clock::bitmap bitmap)
 ~miniport ()
 PortCls tears the subdevices down ahead of the device's own remove handling: the backend's endpoint slot must not reach a gone miniport.

Private Member Functions

os_result validate (const ::KSDATARANGE *range, const ::KSDATARANGE *test) const
 validate KSDATARANGE against streams KSDATARANGE_AUDIO supported collation

Detailed Description

template<typename stream_t>
class dxd::wavert::miniport< stream_t >

wavert::miniport

stream_t::backend is what its streams start()/stop() against - handed through from the adapter device.

Constructor & Destructor Documentation

◆ miniport()

template<typename stream_t>
dxd::wavert::miniport< stream_t >::miniport ( const wchar_t * portname,
const ::DEVICE_OBJECT * wdm_bus,
const ::DEVICE_OBJECT * wdm_pdo,
const dx::log & log,
typename stream_t::backend & backend,
const typename stream_t::stream_desc & stream_desc,
unsigned int idx,
dx::stream::clock::bitmap bitmap )
inline

◆ ~miniport()

template<typename stream_t>
dxd::wavert::miniport< stream_t >::~miniport ( )
inline

PortCls tears the subdevices down ahead of the device's own remove handling: the backend's endpoint slot must not reach a gone miniport.

Member Function Documentation

◆ format_change()

template<typename stream_t>
void dxd::wavert::miniport< stream_t >::format_change ( uint32_t samplerate = {})
inline

the OS pin's ranges narrow to the given rate, widen to the bitmap without one

The port copied the pin descriptor at Init and reads the ranges themselves live, so every rate range is rewritten in place. The endpoint builder re-derives the endpoint's format from them; the backend calls this whenever its clock domain binds or frees the rate.


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.