dxd - dynax driver framework 2.1.0d71
cross platform open source driver development framework
Loading...
Searching...
No Matches
dxd::engine Class Reference

#include <dxd_audio.h>

+ Inheritance diagram for dxd::engine:
+ Collaboration diagram for dxd::engine:

Public Member Functions

::IOReturn clipOutputSamples (const void *src, void *dst, UInt32 offset, UInt32 frames, const::IOAudioStreamFormat *fmt,::IOAudioStream *stream)
 
::IOReturn convertInputSamples (const void *src, void *dst, UInt32 offset, UInt32 frames, const::IOAudioStreamFormat *fmt,::IOAudioStream *stream)
 
UInt32 getCurrentSampleFrame ()
 realtime sample frame hardware position
 
::IOReturn getLoopCountAndTimeStamp (UInt32 *loops,::AbsoluteTime *timestamp)
 
bool initHardware (::IOService *provider)
 configure IOAudioEngine and setup streams
 
::IOReturn performAudioEngineStart ()
 
::IOReturn performAudioEngineStop ()
 
::IOReturn performFormatChange (::IOAudioStream *stream, const::IOAudioStreamFormat *fmt, const::IOAudioSampleRate *clk)
 

Public Attributes

dxd::devicedevice
 

Member Function Documentation

◆ clipOutputSamples()

::IOReturn dxd::engine::clipOutputSamples ( const void * src,
void * dst,
UInt32 offset,
UInt32 frames,
const::IOAudioStreamFormat * fmt,
::IOAudioStream * stream )
inline
+ Here is the call graph for this function:

◆ convertInputSamples()

::IOReturn dxd::engine::convertInputSamples ( const void * src,
void * dst,
UInt32 offset,
UInt32 frames,
const::IOAudioStreamFormat * fmt,
::IOAudioStream * stream )
inline
+ Here is the call graph for this function:

◆ getCurrentSampleFrame()

UInt32 dxd::engine::getCurrentSampleFrame ( )
inline

realtime sample frame hardware position

◆ getLoopCountAndTimeStamp()

::IOReturn dxd::engine::getLoopCountAndTimeStamp ( UInt32 * loops,
::AbsoluteTime * timestamp )
inline

◆ initHardware()

bool dxd::engine::initHardware ( ::IOService * provider)
inline

configure IOAudioEngine and setup streams

retrieve support range of sample rates retrieved from the device driver Create an IOAudioStream for each buffer and add it to this audio engine iterate thru all format descriptions from USB bus driver, select and add to CoreAudio's list of available formats

creates and initializes the IOAudioStream

set latencies and CoreAudio safty offsets

Todo
compute latencies and CoreAudio safty offsets
Todo
release audiostream
+ Here is the call graph for this function:

◆ performAudioEngineStart()

::IOReturn dxd::engine::performAudioEngineStart ( )
inline

◆ performAudioEngineStop()

::IOReturn dxd::engine::performAudioEngineStop ( )
inline

◆ performFormatChange()

::IOReturn dxd::engine::performFormatChange ( ::IOAudioStream * stream,
const::IOAudioStreamFormat * fmt,
const::IOAudioSampleRate * clk )
inline

Member Data Documentation

◆ device

dxd::device* dxd::engine::device

The documentation for this class was generated from the following file:

(c) copyright 2009 dynamic acoustics e.U. generated on Thu Jun 6 2024

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.