dxd - dynax driver framework 2.2.0d81
cross platform open source driver development framework
|
streaming device representation of dxd kernel user client More...
#include <dx_coreaudio_server.h>
Public Member Functions | |
virtual void | configure (target target, ::UInt64 action, void *info) |
configure: handle configuration change requests | |
device (decltype(super::driver)&driver, decltype(super::id)&id) | |
device (decltype(super::driver)&driver, decltype(super::id)&id, const typename super::desc &desc) | |
void | io_start () |
void | io_stop () |
void | io_timestamp (::Float64 &sampletime, ::UInt64 &host_time, ::UInt64 &seed) |
void | launch () override |
void | operator= (const ::AudioServerPlugInHostInterface *host) noexcept |
attaches CoreAudio plugin parent | |
pin_t & | pin (::AudioObjectID id) |
pin_t & | pin (target target) |
virtual uint32_t | property (target target, const ::AudioObjectPropertyAddress &address, void *property, ::UInt32 &size, bool set=false) |
generic device property handler | |
virtual uint32_t | request (uint32_t samplerate) |
async samplerate request issue an asynchronous CoreAudio samplerate request. | |
Public Attributes | |
uint8_t | idx = 0 |
std::deque< pin_t > | pins |
streaming device representation of dxd kernel user client
CoreAudio server plugin.
In contrast to the hierarchical dx device tree design the device keeps a list of all pins and all streams to better reflect the CoreAudio architecture.
AudioObjectPropertyAddress address; address.mSelector = kAudioDevicePropertyNominalSampleRate; address.mScope = kAudioObjectPropertyScopeGlobal; address.mElement = kAudioObjectPropertyElementMaster;
AudioObjectAddPropertyListener(unit, &address, &deviceSampleRateChanged, this);
|
inline |
|
inline |
|
inlinevirtual |
configure: handle configuration change requests
|
inline |
|
inline |
|
inline |
|
inlineoverride |
creates pins from dx::device description and adds it as CoreAudio entity to the CoreAudio device
register all audio pins across all streams
|
inlinenoexcept |
attaches CoreAudio plugin parent
|
inline |
|
inline |
|
inlinevirtual |
generic device property handler
|
inlinevirtual |
async samplerate request issue an asynchronous CoreAudio samplerate request.
struct { ... } dx::coreaudio::server::device< pin_t >::clock |
struct { ... } dx::coreaudio::server::device< pin_t >::config |
uint64_t dx::coreaudio::server::device< pin_t >::count |
cached sync cycle count to evaluate timesamp generation
struct { ... } dx::coreaudio::server::device< pin_t >::cycle |
bool dx::coreaudio::server::device< pin_t >::engine_driven |
pins do not provide any means of driving streaming
uint8_t dx::coreaudio::server::device< pin_t >::idx = 0 |
uint32_t dx::coreaudio::server::device< pin_t >::lines |
sample lines per sync cycle (per timestamp generation)
uint32_t dx::coreaudio::server::device< pin_t >::linesize |
size of all channels in bytes per sample
uint32_t dx::coreaudio::server::device< pin_t >::offset |
timestamp generation offset to zero reference on seed change
std::deque<pin_t> dx::coreaudio::server::device< pin_t >::pins |
pin_t::circular_t* dx::coreaudio::server::device< pin_t >::reference |
struct { ... } dx::coreaudio::server::device< pin_t >::request |
uint32_t dx::coreaudio::server::device< pin_t >::safety_offset[2] |
RX/TX safety offsets;.
uint32_t dx::coreaudio::server::device< pin_t >::samplerate |
dispatch_async samplerate parameter storage location (stack not suitable)
uint64_t dx::coreaudio::server::device< pin_t >::seed |
target dx::coreaudio::server::device< pin_t >::source |
dispatch_async clock::source parameter storage location (stack not suitable)
(c) copyright 2009 dynamic acoustics e.U. | generated on Fri Dec 20 2024 |