ACX_STREAMAUDIOENGINE_CALLBACKS structure (acxelements.h)

The ACX_STREAMAUDIOENGINE_CALLBACKS structure identifies the driver callbacks for ACX stream audio engine operations.

Syntax

typedef struct _ACX_STREAMAUDIOENGINE_CALLBACKS {
  ULONG                                                     Size;
  PFN_ACX_STREAMAUDIOENGINE_ASSIGN_EFFECTS_STATE            EvtAcxStreamAudioEngineAssignEffectsState;
  PFN_ACX_STREAMAUDIOENGINE_RETRIEVE_EFFECTS_STATE          EvtAcxStreamAudioEngineRetrieveEffectsState;
  PFN_ACX_STREAMAUDIOENGINE_RETRIEVE_PRESENTATION_POSITION  EvtAcxStreamAudioEngineRetrievePresentationPosition;
  PFN_ACX_STREAMAUDIOENGINE_ASSIGN_CURRENT_WRITE_POSITION   EvtAcxStreamAudioEngineAssignCurrentWritePosition;
  PFN_ACX_STREAMAUDIOENGINE_RETRIEVE_LINEAR_BUFFER_POSITION EvtAcxStreamAudioEngineRetrieveLinearBufferPosition;
  PFN_ACX_STREAMAUDIOENGINE_ASSIGN_LAST_BUFFER_POSITION     EvtAcxStreamAudioEngineAssignLastBufferPosition;
  PFN_ACX_STREAMAUDIOENGINE_ASSIGN_LOOPBACK_PROTECTION      EvtAcxStreamAudioEngineAssignLoopbackProtection;
  PFN_ACX_OBJECT_PROCESS_REQUEST                            EvtAcxStreamAudioEngineProcessRequest;
} ACX_STREAMAUDIOENGINE_CALLBACKS, *PACX_STREAMAUDIOENGINE_CALLBACKS;

Members

Size

The length, in bytes, of this structure.

EvtAcxStreamAudioEngineAssignEffectsState

The EVT_ACX_STREAMAUDIOENGINE_ASSIGN_EFFECTS_STATE callback.

EvtAcxStreamAudioEngineRetrieveEffectsState

The EVT_ACX_STREAMAUDIOENGINE_RETRIEVE_EFFECTS_STATE callback.

EvtAcxStreamAudioEngineRetrievePresentationPosition

The EVT_ACX_STREAMAUDIOENGINE_RETRIEVE_PRESENTATION_POSITION callback.

EvtAcxStreamAudioEngineAssignCurrentWritePosition

The EVT_ACX_STREAMAUDIOENGINE_ASSIGN_CURRENT_WRITE_POSITION callback.

EvtAcxStreamAudioEngineRetrieveLinearBufferPosition

The EVT_ACX_STREAMAUDIOENGINE_RETRIEVE_LINEAR_BUFFER_POSITION callback.

EvtAcxStreamAudioEngineAssignLastBufferPosition

The EVT_ACX_STREAMAUDIOENGINE_ASSIGN_LAST_BUFFER_POSITION callback.

EvtAcxStreamAudioEngineAssignLoopbackProtection

The EVT_ACX_STREAMAUDIOENGINE_ASSIGN_LOOPBACK_PROTECTION callback.

EvtAcxStreamAudioEngineProcessRequest

The EVT_ACX_OBJECT_PROCESS_REQUEST callback.

Remarks

Example

Example usage is shown below.

        ACX_STREAMAUDIOENGINE_CALLBACKS streamAudioEngineCallbacks;

        // Create the AudioEngine element to control offloaded streaming.
        ACX_STREAMAUDIOENGINE_CALLBACKS_INIT(&streamAudioEngineCallbacks);

        streamAudioEngineCallbacks.EvtAcxStreamAudioEngineAssignEffectsState = CodecR_EvtAcxStreamAudioEngineAssignEffectsState;
        streamAudioEngineCallbacks.EvtAcxStreamAudioEngineRetrieveEffectsState = CodecR_EvtAcxStreamAudioEngineRetrieveEffectsState;
        streamAudioEngineCallbacks.EvtAcxStreamAudioEngineRetrievePresentationPosition = CodecR_EvtAcxStreamAudioEngineRetrievePresentationPosition;
        streamAudioEngineCallbacks.EvtAcxStreamAudioEngineAssignCurrentWritePosition = CodecR_EvtAcxStreamAudioEngineAssignCurrentWritePosition;
        streamAudioEngineCallbacks.EvtAcxStreamAudioEngineRetrieveLinearBufferPosition = CodecR_EvtAcxStreamAudioEngineRetrieveLinearBufferPosition;
        streamAudioEngineCallbacks.EvtAcxStreamAudioEngineAssignLastBufferPosition = CodecR_EvtAcxStreamAudioEngineAssignLastBufferPosition;
        streamAudioEngineCallbacks.EvtAcxStreamAudioEngineAssignLoopbackProtection = CodecR_EvtAcxStreamAudioEngineAssignLoopbackProtection;

ACX requirements

Minimum ACX version: 1.0

For more information about ACX versions, see ACX version overview.

Requirements

Requirement Value
Header acxelements.h

See also