dxd - dynax driver framework 2.1.0d71
cross platform open source driver development framework
|
generic streaming engine More...
#include <dx_stream_engine.h>
Public Types | |
typedef device_t::desc | desc |
typedef decltype(matching_dictionaries) | match |
typedef ::GUID | match |
Static Public Member Functions | |
::CFTypeID | id () noexcept |
Public Attributes | |
::CFStringRef | cf_type_desc = nullptr |
::CFStringRef | cf_type_id = nullptr |
T | elements |
STL member. | |
bool | launched |
log | log {} |
dx::log | log {} |
cf::preference | preference |
dx::registry | preference |
dx::generic::driver::setup | setup |
Protected Types | |
typedef driver< device_t > | driver |
Protected Attributes | ||
struct { | ||
circular_t * circular [directions] | ||
force_read force_read | ||
force_write force_write | ||
struct { | ||
volatile uint32_t * samplerate | ||
} observer | ||
struct { | ||
uint32_t interval | ||
clock resolution: HW stream frame size in samples More... | ||
uint32_t linesize | ||
circular * reference | ||
uint32_t safety_offset [directions] | ||
uint32_t samplerate | ||
int64_t trigger | ||
} sync | ||
} | cache | |
cf_object_t | cf_object = nullptr | |
std::shared_ptr< device_t > | device | |
clock_t::duration | duration = clock_t::duration::zero() | |
uint64_t | frame = 0 | |
bool | hw_clock = false | |
io_t ** | io [directions][2] {} | |
uint32_t | iosize = 0 | |
bool | kernel_streaming = false | |
dx::stream::clock::monitor * | monitor = nullptr | |
io[directions][double buffer][channel][sample] | ||
std::mutex | mutex | |
clock_t::time_point | objective | |
std::shared_ptr< pin_t > | pin [directions] | |
std::atomic< bool > | running | |
os_result | status = not_initialized | |
generic streaming engine
in | case of an error returned by the underlaying API the device class throws a dx::exception. |
typedef device_t::desc dx::stream::engine< device_t, pin_t, io_t, circular_t >::desc |
|
protected |
|
inherited |
|
inherited |
|
inlineprotected |
|
inlineprotectedvirtualnoexcept |
|
inlineoverrideprotectedvirtual |
notify device arrivals completed stub
pin creation exception caught here to allow device inspection even if streaming is not possible - most likely due to exclusive access.
Reimplemented from dx::driver< device_t >.
|
inlineprotectedvirtualinherited |
notify specific device arrival stub
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineprotectednoexceptinherited |
replaces std::deque::clear to call virtual notification methods
|
inlinevirtualnoexceptinherited |
Reimplemented from dx::generic::driver.
|
inlineoverridevirtualnoexceptinherited |
Reimplemented from dx::generic::driver.
|
inlineinherited |
|
inlinevirtualnoexcept |
|
inlineinherited |
|
inlinenoexceptinherited |
|
inlinevirtualnoexceptinherited |
notification exception handler
Reimplemented in dx::asio< device_t, pin_t >.
|
inlinevirtualnoexceptinherited |
notification exception handler
Reimplemented in dx::asio< device_t, pin_t >.
|
inlinenoexceptinherited |
Finds the device by guid.
The user is responsible for making sure the device list cannot be modified during find().
n/a | this method does not throw exceptions |
|
inlinevirtualnoexcept |
|
inlineoverridevirtualnoexcept |
stop streaming engine
Reimplemented from dx::clock< scope_t, clock_t >.
|
staticnoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inline |
|
inlineprotectedvirtualnoexcept |
notify change from device requiring streaming reset
Reimplemented from dx::clock< scope_t, clock_t >.
Reimplemented in dx::test::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, engine_t >.
|
inlineprotectedvirtualnoexcept |
notify sample rate change from device
Reimplemented in dx::asio< device_t, pin_t >.
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlineinherited |
|
inlinenoexceptinherited |
Skips whitespace; returns 0.0 on error.
|
inlinenoexceptinherited |
Skips whitespace; returns 0 on error, MAX or -MAX on overflow.
|
inlineinherited |
|
noexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlineinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlineinherited |
|
inlinenoexceptinherited |
|
inlineinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlineinherited |
|
inlinenoexceptinherited |
|
inlineinherited |
|
inlinenoexceptinherited |
|
inlineinherited |
|
protectedpure virtualnoexcept |
Implemented in dx::asio< device_t, pin_t >, and dx::test::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, engine_t >.
|
inlinenoexceptinherited |
notify device removals completed stub
Reimplemented from dx::generic::driver.
|
inlineoverrideprotectedvirtualnoexcept |
notify specific device removal stub
Reimplemented from dx::driver< device_t >.
|
inlinenoexceptinherited |
|
inlineoverridevirtual |
start streaming engine
Reimplemented from dx::clock< scope_t, clock_t >.
|
inline |
|
inline |
|
inlineoverrideprotected |
|
inlineprotectedvirtualinherited |
|
inlineoverrideprotectedvirtual |
Implements dx::clock< scope_t, clock_t >.
|
inlineprotectednoexcept |
struct { ... } dx::stream::engine< device_t, pin_t, io_t, circular_t >::cache |
|
protectedinherited |
|
inherited |
|
inherited |
circular_t* dx::stream::engine< device_t, pin_t, io_t, circular_t >::circular[directions] |
|
protected |
|
protectedinherited |
|
inherited |
STL member.
force_read dx::stream::engine< device_t, pin_t, io_t, circular_t >::force_read |
force_write dx::stream::engine< device_t, pin_t, io_t, circular_t >::force_write |
|
protected |
|
protected |
uint32_t dx::stream::engine< device_t, pin_t, io_t, circular_t >::interval |
clock resolution: HW stream frame size in samples
|
protected |
|
protected |
|
protected |
|
inherited |
uint32_t dx::stream::engine< device_t, pin_t, io_t, circular_t >::linesize |
|
inherited |
|
inherited |
|
protected |
io[directions][double buffer][channel][sample]
struct { ... } dx::stream::engine< device_t, pin_t, io_t, circular_t >::observer |
|
protected |
|
inherited |
|
inherited |
circular* dx::stream::engine< device_t, pin_t, io_t, circular_t >::reference |
uint32_t dx::stream::engine< device_t, pin_t, io_t, circular_t >::safety_offset {} |
volatile uint32_t* dx::stream::engine< device_t, pin_t, io_t, circular_t >::samplerate |
uint32_t dx::stream::engine< device_t, pin_t, io_t, circular_t >::samplerate |
|
inherited |
|
protectedinherited |
struct { ... } dx::stream::engine< device_t, pin_t, io_t, circular_t >::sync |
int64_t dx::stream::engine< device_t, pin_t, io_t, circular_t >::trigger |
(c) copyright 2009 dynamic acoustics e.U. | generated on Tue Sep 10 2024 |