dxd - dynax driver framework 2.3.0d118
cross platform open source driver development framework
|
CoreAudio server streaming device. More...
#include <dx_coreaudio_server_device.h>
Public Member Functions | |
virtual dx_catchall_rethrow() std void | add_client (const ::AudioServerPlugInClientInfo *info) try |
virtual void | create_pins () try |
template<typename driver_t > | |
device (driver_t &driver, decltype(super::id)&id, const typename super::desc &desc) | |
dx_catchall_rethrow () template< typename driver_t > device(driver_t &driver | |
dx_catchall_rethrow () virtual void configure(target target | |
configure: handle device configuration change requests configure will only receive requests targetted to the device | |
dx_catchall_rethrow () void launch() override try | |
redirect::indent | indent (std::clog) |
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) try |
generic device property handler | |
submit (target.id,{ .mSelector=static_cast<::AudioObjectPropertySelector >(action),.mScope=::kAudioObjectPropertyScopeGlobal}) | |
switch (action) | |
decltype(super::id | uid (this->puuid) |
Public Attributes | |
::UInt64 | action |
decltype(super::id) & | id: super(driver |
decltype(super::id) | id |
uint8_t | idx = 0 |
std::deque< pin_t > | pins |
::UInt64 void *info | try |
CoreAudio server streaming device.
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.
|
inline |
|
inlinevirtual |
|
inlinevirtual |
creates pins from dx::device description and adds it as CoreAudio entity to the CoreAudio device
register all audio pins across all streams
dx::coreaudio::server::device< pin_t >::dx_catchall_rethrow | ( | ) | & |
dx::coreaudio::server::device< pin_t >::dx_catchall_rethrow | ( | ) |
configure: handle device configuration change requests configure will only receive requests targetted to the device
|
inlineoverride |
redirect::indent dx::coreaudio::server::device< pin_t >::indent | ( | std::clog | ) |
|
inline |
|
inline |
|
inlinevirtual |
generic device property handler
dx::coreaudio::server::device< pin_t >::submit | ( | target. | id, |
{ .mSelector=static_cast<::AudioObjectPropertySelector >(action),.mScope=::kAudioObjectPropertyScopeGlobal} | ) |
|
inline |
|
inline |
::UInt64 dx::coreaudio::server::device< pin_t >::action |
pin_t::circular_t* dx::coreaudio::server::device< pin_t >::circular |
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 |
dx::stream::direction::direction dx::coreaudio::server::device< pin_t >::direction |
bool dx::coreaudio::server::device< pin_t >::engine_driven |
pins do not provide any means of driving streaming
decltype(super::id) & dx::coreaudio::server::device< pin_t >::id |
decltype(super::id) dx::coreaudio::server::device< pin_t >::id |
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 |
struct { ... } dx::coreaudio::server::device< pin_t >::reference |
uint32_t dx::coreaudio::server::device< pin_t >::safety_offset[2] |
RX/TX safety offsets;.
uint64_t dx::coreaudio::server::device< pin_t >::seed |
::UInt64 void* info dx::coreaudio::server::device< pin_t >::try |
(c) copyright 2009 dynamic acoustics e.U. | generated on Fri May 16 2025 |