Skip to main content
AOQ SDK overview

AOQ Client SDK Windows API reference

This topic describes the C++ APIs, callbacks, and data types of AOQ Client SDK for Windows.

The SDK holds the engine instance as a global singleton, provides APIs through the AoqClientEngine class, and reports asynchronous events through the AoqEngineEventListener abstract class. All type definitions reside in the AoqClientSdk namespace, and the header file is AoqClientEngine.h.
The caller is responsible for the lifecycle of all const char* strings. They must remain valid at least until the corresponding call returns. The engine copies them internally as needed.

API index

Engine lifecycle

API

Description

createEngine

Create the engine instance (singleton)

destroy

Destroy the engine instance

getVersion

Get the SDK version

connect

Connect to the relay server

disconnect

Disconnect from the server

Audio device management

API

Description

startAudioCapture

Open the audio capture device (microphone)

stopAudioCapture

Close the audio capture device

muteAudioCapture

Mute or unmute audio capture

startAudioPlayer

Start audio rendering to play remote audio

stopAudioPlayer

Stop audio rendering

pauseAudioPlayer

Pause audio rendering (fade-out supported)

resumeAudioPlayer

Resume audio rendering (fade-in supported)

interruptAudioPlayer

Interrupt the current audio session

enableLocalAudioVolumeIndication

Enable or disable local capture volume indication

Audio encoding configuration

API

Description

setAudioEncoderConfig

Set audio encoding parameters

setAudioDecoderConfig

Set audio decoding parameters

Video device management

API

Description

startVideoCapture

Open the video capture device (camera)

stopVideoCapture

Close the video capture device

setLocalView

Set or remove the local video rendering window

setRemoteView

Set or remove the remote video rendering window

Video encoding and external input

API

Description

setVideoEncoderConfig

Set video encoding parameters

setVideoDecoderConfig

Set video decoding parameters

pushExternalVideoCapturedFrame

Push an externally captured video frame

pushExternalVideoEncodedFrame

Push an externally encoded video frame

Media stream control

API

Description

enableSendMediaStream

Enable or disable sending of a local media stream

Audio file playback

API

Description

startAudioFile

Start playing a local audio file to the publishing stream

stopAudioFile

Stop audio file playback

pauseAudioFile

Pause audio file playback

resumeAudioFile

Resume audio file playback

getAudioFileDuration

Query the total duration of the audio file

getAudioFileCurrentPosition

Query the current playback position of the audio file

setAudioFilePositionMillis

Set the playback position of the audio file (seek)

setAudioFileVolume

Set the volume of the audio file

getAudioFileVolume

Query the current volume of the audio file

External audio streams

API

Description

addAudioExternalStream

Add an external audio stream

pushAudioExternalStreamData

Feed external audio PCM data

setAudioExternalStreamVolume

Set the volume of an external audio stream

getAudioExternalStreamVolume

Query the volume of an external audio stream

clearAudioExternalStreamBuffer

Clear the buffer of an external audio stream

removeAudioExternalStream

Remove an external audio stream

Real-time messaging

API

Description

sendDataMsg

Send a real-time data message

Audio frame callbacks

API

Description

setAudioFrameObserver

Set the audio frame data callback listener

enableAudioFrameObserver

Enable or disable the audio frame callback at a specified position

Video frame callbacks

API

Description

setVideoFrameObserver

Set the video frame data callback listener

enableVideoFrameObserver

Enable or disable the video frame callback at a specified position

AoqEngineEventListener callbacks

Callback

Description

onError

Engine error callback

onWarning

Engine warning callback

onConnectionStatusChange

Connection status change callback

onStats

Engine statistics callback

onAudioDeviceStateChanged

Audio device operation status change callback

onAudioDeviceRouteChanged

Audio output route change callback

onAudioFileState

Audio file playback status callback

onLocalAudioVolumeIndication

Local capture volume indication callback

onVideoDeviceStateChanged

Video device operation status change callback

onDataMsg

Callback for a received real-time data message

API details

Engine lifecycle

createEngine

Creates the engine instance. The SDK holds the engine as a global singleton, so calling this method again returns the existing instance.
static AoqClientEngine* createEngine(const AoqCreateConfig& config,
                                     AoqEngineEventListener* listener);
Parameters

Parameters

Type

Description

config

const AoqCreateConfig&

Engine creation configuration. For more information, see AoqCreateConfig.

listener

AoqEngineEventListener*

Event callback listener. For more information, see AoqEngineEventListener.

Returns: A pointer to the engine instance. nullptr is returned on failure.

destroy

Destroys the engine instance. After the engine is destroyed, you must call createEngine again before you can continue to use it.
static int destroy();
Returns: 0 on success; non-zero on failure.

getVersion

Gets the SDK version.
static const char* getVersion();
Returns: The version string.

connect

Connects to the relay server. The application server obtains temporary AOQ connection parameters based on the protocol in use and sends them to the client. For more information, see Token authentication.
virtual int connect(const AoqConnectConfig& config);
Parameters

Parameters

Type

Description

config

const AoqConnectConfig&

Connection authentication configuration. For more information, see AoqConnectConfig.

Returns: 0 indicates that the call is dispatched and runs asynchronously; non-zero indicates that parameter validation failed.

disconnect

Disconnects from the server.
virtual int disconnect();
Returns: 0 indicates that the call is dispatched and runs asynchronously; non-zero indicates a failure.

Audio device management

startAudioCapture

Opens the audio capture device (microphone).
virtual int startAudioCapture(const AoqAudioCaptureConfig& config);
Parameters

Parameters

Type

Description

config

const AoqAudioCaptureConfig&

Audio capture configuration. For more information, see AoqAudioCaptureConfig.

Returns: 0 on success; non-zero on failure.

stopAudioCapture

Closes the audio capture device.
virtual int stopAudioCapture();
Returns: 0 on success; non-zero on failure.

muteAudioCapture

Mutes or unmutes audio capture.
virtual int muteAudioCapture(bool mute);
Parameters

Parameters

Type

Description

mute

bool

true mutes; false unmutes

Returns: 0 on success; non-zero on failure.

startAudioPlayer

Starts audio rendering to play remote audio.
virtual int startAudioPlayer(const AoqAudioPlaybackConfig& config);
Parameters

Parameters

Type

Description

config

const AoqAudioPlaybackConfig&

Audio playback configuration. For more information, see AoqAudioPlaybackConfig.

Returns: 0 on success; non-zero on failure.

stopAudioPlayer

Stops audio rendering.
virtual int stopAudioPlayer();
Returns: 0 on success; non-zero on failure.

pauseAudioPlayer

Pauses audio rendering, with fade-out supported.
virtual int pauseAudioPlayer(int fadeMs);
Parameters

Parameters

Type

Description

fadeMs

int

Fade-out duration, in milliseconds. 0 indicates immediate pause.

Returns: 0 on success; non-zero on failure.

resumeAudioPlayer

Resumes audio rendering, with fade-in supported.
virtual int resumeAudioPlayer(int fadeMs);
Parameters

Parameters

Type

Description

fadeMs

int

Fade-in duration, in milliseconds. 0 indicates immediate resumption.

Returns: 0 on success; non-zero on failure.

interruptAudioPlayer

Interrupts the current audio session and stops the audio that is currently playing.
virtual int interruptAudioPlayer(AoqTrackType trackType, int fadeMs);
Parameters

Parameters

Type

Description

trackType

AoqTrackType

Track type. For more information, see AoqTrackType.

fadeMs

int

Fade-out duration, in milliseconds. 0 indicates immediate interruption.

Returns: 0 on success; non-zero on failure.

enableLocalAudioVolumeIndication

Enables or disables local capture volume indication. After it is enabled, the onLocalAudioVolumeIndication callback is triggered at the interval specified by config.interval. If config.interval <= 0, the callback is disabled. You must call this method after startAudioCapture to obtain volume data.
virtual int enableLocalAudioVolumeIndication(const AoqAudioVolumeIndicationConfig& config);
Parameters

Parameters

Type

Description

config

const AoqAudioVolumeIndicationConfig&

Volume indication configuration. For more information, see AoqAudioVolumeIndicationConfig.

Returns: 0 on success; non-zero on failure.

Audio encoding configuration

setAudioEncoderConfig

Sets audio encoding parameters.
virtual int setAudioEncoderConfig(const AoqAudioCodecConfig& config);
Parameters

Parameters

Type

Description

config

const AoqAudioCodecConfig&

Audio codec configuration. For more information, see AoqAudioCodecConfig.

Returns: 0 on success; non-zero on failure.

setAudioDecoderConfig

Sets audio decoding parameters.
virtual int setAudioDecoderConfig(const AoqAudioCodecConfig& config);
Parameters

Parameters

Type

Description

config

const AoqAudioCodecConfig&

Audio codec configuration. For more information, see AoqAudioCodecConfig.

Returns: 0 on success; non-zero on failure.

Video device management

startVideoCapture

Opens the video capture device (camera). When isExternal=true is configured, the camera is not opened, and frames are fed by pushExternalVideoCapturedFrame.
virtual int startVideoCapture(const AoqVideoCaptureConfig& config);
Parameters

Parameters

Type

Description

config

const AoqVideoCaptureConfig&

Video capture configuration. For more information, see AoqVideoCaptureConfig.

Returns: 0 on success; non-zero on failure.

stopVideoCapture

Closes the video capture device.
virtual int stopVideoCapture();
Returns: 0 on success; non-zero on failure.

setLocalView

Sets or removes the local video rendering window. If canvas.view == nullptr, the binding is removed.
virtual int setLocalView(AoqTrackType trackType, const AoqVideoCanvas& canvas);
Parameters

Parameters

Type

Description

trackType

AoqTrackType

Video track. Pass AoqTrackTypeVideo.

canvas

const AoqVideoCanvas&

Rendering canvas. For more information, see AoqVideoCanvas. If view is nullptr, the binding is removed.

Returns: 0 on success; non-zero on failure.

setRemoteView

Sets or removes the remote video rendering window. If canvas.view == nullptr, the binding is removed.
virtual int setRemoteView(AoqTrackType trackType, const AoqVideoCanvas& canvas);
Parameters

Parameters

Type

Description

trackType

AoqTrackType

Video track. Pass AoqTrackTypeVideo.

canvas

const AoqVideoCanvas&

Rendering canvas. For more information, see AoqVideoCanvas. If view is nullptr, the binding is removed.

Returns: 0 on success; non-zero on failure.

Video encoding and external input

setVideoEncoderConfig

Sets video encoding parameters and routes them based on config.trackType.
virtual int setVideoEncoderConfig(const AoqVideoCodecConfig& config);
Parameters

Parameters

Type

Description

config

const AoqVideoCodecConfig&

Video codec configuration. For more information, see AoqVideoCodecConfig.

Returns: 0 on success; non-zero on failure.

setVideoDecoderConfig

Sets video decoding parameters (a codec proposal on the subscribing side, which must be called before connect). The call is routed based on config.trackType.
virtual int setVideoDecoderConfig(const AoqVideoCodecConfig& config);
Parameters

Parameters

Type

Description

config

const AoqVideoCodecConfig&

Video codec configuration. For more information, see AoqVideoCodecConfig.

Returns: 0 on success; non-zero on failure.

pushExternalVideoCapturedFrame

Pushes an external video frame. You must first call startVideoCapture and configure isExternal=true. If external video capture is not started, AoqECVideoExternalCaptureNotEnabled (211) is returned. If the frame format is not supported, AoqECParamInvalid is returned.
virtual int pushExternalVideoCapturedFrame(AoqTrackType trackType, const AoqVideoFrame& frame);
Parameters

Parameters

Type

Description

trackType

AoqTrackType

Routing target. Pass AoqTrackTypeVideo.

frame

const AoqVideoFrame&

External video frame data. For more information, see AoqVideoFrame.

Returns: 0 on success; AoqECVideoExternalBufferFull (210) indicates that the buffer is full; AoqECVideoExternalCaptureNotEnabled (211) indicates that external video capture is not enabled; AoqECParamInvalid indicates an unsupported frame format; other non-zero values indicate other errors.

pushExternalVideoEncodedFrame

Pushes an externally encoded video frame directly, bypassing the encoder. You must first call setVideoEncoderConfig and configure isExternal=true. Only JPEG is currently supported.
virtual int pushExternalVideoEncodedFrame(AoqTrackType trackType, const AoqVideoEncodedFrame& frame);
Parameters

Parameters

Type

Description

trackType

AoqTrackType

Routing target. Pass AoqTrackTypeVideo.

frame

const AoqVideoEncodedFrame&

Externally encoded frame data. For more information, see AoqVideoEncodedFrame.

Returns: 0 on success; non-zero on failure.

Media stream control

enableSendMediaStream

Enables or disables sending of a local media stream. We recommend that you disable sending after initialization and enable it only after the onConnectionStatusChange callback reports AoqConnectionStatusConnected.
virtual int enableSendMediaStream(AoqTrackType trackType, bool enable);
Parameters

Parameters

Type

Description

trackType

AoqTrackType

Routing target. AoqTrackTypeAudio and AoqTrackTypeVideo are supported.

enable

bool

true enables sending; false disables sending

Returns: 0 indicates that the call is dispatched and runs asynchronously; non-zero indicates a failure.

Audio file playback

startAudioFile

Starts playing a local audio file to the publishing stream.
virtual int startAudioFile(const char* fileId, const AoqAudioFileMixConfig& config);
Parameters

Parameters

Type

Description

fileId

const char*

Audio file ID. The business layer must ensure that it is unique.

config

const AoqAudioFileMixConfig&

Audio file mixing configuration. For more information, see AoqAudioFileMixConfig.

Returns: 0 on success; non-zero on failure.

stopAudioFile

Stops audio file playback.
virtual int stopAudioFile(const char* fileId);
Parameters

Parameters

Type

Description

fileId

const char*

Audio file ID

Returns: 0 on success; non-zero on failure.

pauseAudioFile

Pauses audio file playback.
virtual int pauseAudioFile(const char* fileId);
Parameters

Parameters

Type

Description

fileId

const char*

Audio file ID

Returns: 0 on success; non-zero on failure.

resumeAudioFile

Resumes audio file playback.
virtual int resumeAudioFile(const char* fileId);
Parameters

Parameters

Type

Description

fileId

const char*

Audio file ID

Returns: 0 on success; non-zero on failure.

getAudioFileDuration

Gets the total duration of the audio file.
virtual int64_t getAudioFileDuration(const char* fileId);
Parameters

Parameters

Type

Description

fileId

const char*

Audio file ID

Returns: A value greater than or equal to 0 indicates the duration of the audio file, in milliseconds; a value less than 0 indicates a failure (-AoqErrorCode).

getAudioFileCurrentPosition

Gets the current playback position of the audio file.
virtual int64_t getAudioFileCurrentPosition(const char* fileId);
Parameters

Parameters

Type

Description

fileId

const char*

Audio file ID

Returns: A value greater than or equal to 0 indicates the current playback position, in milliseconds; a value less than 0 indicates a failure (-AoqErrorCode).

setAudioFilePositionMillis

Sets the playback position of the audio file (seek).
virtual int setAudioFilePositionMillis(const char* fileId, int64_t positionMillis);
Parameters

Parameters

Type

Description

fileId

const char*

Audio file ID

positionMillis

int64_t

Playback position, in milliseconds

Returns: 0 on success; non-zero on failure.

setAudioFileVolume

Sets the volume of the audio file.
virtual int setAudioFileVolume(const char* fileId, AoqAudioStreamDirection type, int volume);
Parameters

Parameters

Type

Description

fileId

const char*

Audio file ID

type

AoqAudioStreamDirection

Audio stream direction. For more information, see AoqAudioStreamDirection.

volume

int

Volume value. Valid values: 0 to 100.

Returns: 0 on success; non-zero on failure.

getAudioFileVolume

Gets the current volume of the audio file.
virtual int getAudioFileVolume(const char* fileId, AoqAudioStreamDirection type);
Parameters

Parameters

Type

Description

fileId

const char*

Audio file ID

type

AoqAudioStreamDirection

Audio stream direction. For more information, see AoqAudioStreamDirection.

Returns: A value from 0 to 100 indicates the volume; a value less than 0 indicates a failure (-AoqErrorCode).

External audio streams

addAudioExternalStream

Adds an external audio stream.
virtual int addAudioExternalStream(const char* streamId, const AoqAudioExternalStreamConfig& config);
Parameters

Parameters

Type

Description

streamId

const char*

External audio stream ID. The business layer must ensure that it is unique.

config

const AoqAudioExternalStreamConfig&

External audio stream configuration. For more information, see AoqAudioExternalStreamConfig.

Returns: 0 on success; non-zero on failure.

pushAudioExternalStreamData

Feeds external audio PCM data. If AoqECAudioExternalBufferFull (110) is returned, the SDK buffer is full, and we recommend that you wait about 20 ms and then send the current data frame again.
virtual int pushAudioExternalStreamData(const char* streamId, AoqAudioFrameData& data);
Parameters

Parameters

Type

Description

streamId

const char*

External audio stream ID

data

AoqAudioFrameData&

Raw external audio data. For more information, see AoqAudioFrameData.

Returns: 0 on success; non-zero on failure.
Best practice: In real-time capture scenarios, push 10 ms of data at a time and push whenever data is available. When the data comes from a file, push 40 ms of data at a time at 30 ms intervals, and handle the AoqECAudioExternalBufferFull return value.

setAudioExternalStreamVolume

Sets the volume of an external audio stream.
virtual int setAudioExternalStreamVolume(const char* streamId, AoqAudioStreamDirection type, int vol);
Parameters

Parameters

Type

Description

streamId

const char*

External audio stream ID

type

AoqAudioStreamDirection

External audio stream type. For more information, see AoqAudioStreamDirection.

vol

int

Volume value. Valid values: 0 to 100.

Returns: 0 on success; non-zero on failure.

getAudioExternalStreamVolume

Gets the volume of an external audio stream.
virtual int getAudioExternalStreamVolume(const char* streamId, AoqAudioStreamDirection type);
Parameters

Parameters

Type

Description

streamId

const char*

External audio stream ID

type

AoqAudioStreamDirection

External audio stream type. For more information, see AoqAudioStreamDirection.

Returns: A value from 0 to 100 indicates the volume; a value less than 0 indicates a failure (-AoqErrorCode).

clearAudioExternalStreamBuffer

Clears the buffer of an external audio stream.
virtual void clearAudioExternalStreamBuffer(const char* streamId, int fadeoutMs);
Parameters

Parameters

Type

Description

streamId

const char*

External audio stream ID

fadeoutMs

int

Fade-out duration. -1 uses the SDK's default fade-out, 0 clears everything without a fade-out, and a value greater than 0 keeps a fade-out of the specified number of milliseconds.

Returns: None.

removeAudioExternalStream

Removes an external audio stream.
virtual int removeAudioExternalStream(const char* streamId);
Parameters

Parameters

Type

Description

streamId

const char*

External audio stream ID

Returns: 0 on success; non-zero on failure.

Real-time messaging

sendDataMsg

Sends a real-time data message.
virtual int sendDataMsg(const AoqDataMsg& msg);
Parameters

Parameters

Type

Description

msg

const AoqDataMsg&

Message content. For more information, see AoqDataMsg.

Returns: 0 on success; non-zero on failure.

Audio frame callbacks

setAudioFrameObserver

Sets the audio frame data callback listener. Pass nullptr to stop callbacks. After you set the listener, call enableAudioFrameObserver to enable the callback for the corresponding data source.
virtual int setAudioFrameObserver(IAudioFrameObserver* observer) = 0;
Parameters

Parameters

Type

Description

observer

IAudioFrameObserver*

Audio frame callback listener. For more information, see IAudioFrameObserver. Pass nullptr to stop callbacks.

Returns: 0 on success; non-zero on failure.

enableAudioFrameObserver

Enables or disables the audio frame callback at a specified position.
virtual int enableAudioFrameObserver(bool enabled, AoqAudioSource audioSource,
                                     const AoqAudioObserverConfig& config) = 0;
Parameters

Parameters

Type

Description

enabled

bool

Specifies whether to allow data callbacks

audioSource

AoqAudioSource

Type of the raw audio data source. For more information, see AoqAudioSource.

config

const AoqAudioObserverConfig&

Callback parameter settings. For more information, see AoqAudioObserverConfig.

Returns: 0 on success; non-zero on failure.

Video frame callbacks

setVideoFrameObserver

Sets the video frame data callback listener. Pass nullptr to stop callbacks. After you set the listener, call enableVideoFrameObserver to enable the callback for the corresponding data source.
virtual int setVideoFrameObserver(IVideoFrameObserver* observer) = 0;
Parameters

Parameters

Type

Description

observer

IVideoFrameObserver*

Video frame callback listener. For more information, see IVideoFrameObserver. Pass nullptr to stop callbacks.

Returns: 0 on success; non-zero on failure.

enableVideoFrameObserver

Enables or disables the video frame callback at a specified position.
virtual int enableVideoFrameObserver(bool enabled, AoqVideoSource videoSource,
                                     const AoqVideoObserverConfig& config) = 0;
Parameters

Parameters

Type

Description

enabled

bool

Specifies whether to enable data callbacks at a position

videoSource

AoqVideoSource

Data source of the video frame callback (position in the pipeline). For more information, see AoqVideoSource.

config

const AoqVideoObserverConfig&

Callback parameter settings. For more information, see AoqVideoObserverConfig.

Returns: 0 on success; non-zero on failure.

Callbacks

AoqEngineEventListener

AoqEngineEventListener is the unified entry point for all asynchronous event notifications from the SDK. It is an abstract class that you inherit and implement, and then pass in when you call createEngine. All callbacks may be triggered on internal threads, so you must handle thread safety yourself. State transitions: Disconnected → Connecting → Connected/Failed → Disconnected.

onError

Engine error callback.
virtual void onError(int code, const char* message) = 0;
Parameters

Parameters

Type

Description

code

int

Error code. For more information, see AoqErrorCode.

message

const char*

Error description

onWarning

Engine warning callback.
virtual void onWarning(int code, const char* message) = 0;
Parameters

Parameters

Type

Description

code

int

Warning code. For more information, see AoqWarningCode.

message

const char*

Warning description

onConnectionStatusChange

Engine connection status change callback.
virtual void onConnectionStatusChange(AoqConnectionStatus status) = 0;
Parameters

Parameters

Type

Description

status

AoqConnectionStatus

Connection status. For more information, see AoqConnectionStatus.

onStats

Engine statistics callback.
virtual void onStats(const AoqStats& stats) = 0;
Parameters

Parameters

Type

Description

stats

const AoqStats&

Statistics data. For more information, see AoqStats.

onAudioDeviceStateChanged

Callback for audio device capture and playback operation status changes.
virtual void onAudioDeviceStateChanged(const AoqAudioDeviceState& state) = 0;
Parameters

Parameters

Type

Description

state

const AoqAudioDeviceState&

Audio device state. For more information, see AoqAudioDeviceState.

onAudioDeviceRouteChanged

Audio output route change callback.
virtual void onAudioDeviceRouteChanged(int routeType) = 0;
Parameters

Parameters

Type

Description

routeType

int

Route type. For the valid values, see AoqAudioDeviceRouteType.

onAudioFileState

Callback for audio file playback status.
virtual void onAudioFileState(const AoqAudioFileState& state) = 0;
Parameters

Parameters

Type

Description

state

const AoqAudioFileState&

File playback state. For more information, see AoqAudioFileState.

onLocalAudioVolumeIndication

Local capture volume indication callback. To enable it, call enableLocalAudioVolumeIndication.
virtual void onLocalAudioVolumeIndication(const AoqAudioVolume& volume) = 0;
Parameters

Parameters

Type

Description

volume

const AoqAudioVolume&

Local volume information. For more information, see AoqAudioVolume.

onVideoDeviceStateChanged

Callback for video device capture operation status changes.
virtual void onVideoDeviceStateChanged(const AoqVideoDeviceState& state) = 0;
Parameters

Parameters

Type

Description

state

const AoqVideoDeviceState&

Video device state. For more information, see AoqVideoDeviceState.

onDataMsg

Callback for a received real-time data message.
virtual void onDataMsg(const AoqDataMsg& msg) = 0;
Parameters

Parameters

Type

Description

msg

const AoqDataMsg&

Data message. For more information, see AoqDataMsg.

IAudioFrameObserver

Interface for audio frame data callbacks, which the caller implements by inheritance. Do not perform any time-consuming operations in the callbacks. Otherwise, audio anomalies may occur.

onCapturedAudioFrame

Callback for raw captured data. To enable it, call enableAudioFrameObserver and set audioSource = AoqAudioSourceCaptured. You can set the sample rate and the number of channels, and read-write mode is supported.
virtual void onCapturedAudioFrame(const AoqAudioFrameData& data) = 0;
Parameters

Parameters

Type

Description

data

const AoqAudioFrameData&

Raw captured audio data. For more information, see AoqAudioFrameData.

onProcessCapturedAudioFrame

Callback for data after 3A processing. To enable it, call enableAudioFrameObserver and set audioSource = AoqAudioSourceProcessCaptured. You can set the sample rate and the number of channels, and read-write mode is supported.
virtual void onProcessCapturedAudioFrame(const AoqAudioFrameData& data) = 0;
Parameters

Parameters

Type

Description

data

const AoqAudioFrameData&

Raw audio data after 3A processing. For more information, see AoqAudioFrameData.

onPublishAudioFrame

Callback for publishing data. To enable it, call enableAudioFrameObserver and set audioSource = AoqAudioSourcePublish. You can set the sample rate and the number of channels, and only read-only mode is supported.
virtual void onPublishAudioFrame(AoqTrackType trackType, const AoqAudioFrameData& data) = 0;
Parameters

Parameters

Type

Description

trackType

AoqTrackType

Track type. For more information, see AoqTrackType.

data

const AoqAudioFrameData&

Raw audio data to be published. For more information, see AoqAudioFrameData.

onPlaybackAudioFrame

Callback for playback data. To enable it, call enableAudioFrameObserver and set audioSource = AoqAudioSourcePlayback. You can set the sample rate and the number of channels, and read-write mode is supported.
virtual void onPlaybackAudioFrame(const AoqAudioFrameData& data) = 0;
Parameters

Parameters

Type

Description

data

const AoqAudioFrameData&

Raw audio data for playback. For more information, see AoqAudioFrameData.

IVideoFrameObserver

Interface for video frame data callbacks, which the caller implements by inheritance. Do not perform any time-consuming operations in the callbacks. Otherwise, video stuttering may occur. A return value of true indicates that the data is modified and must be written back to the SDK. Writing back takes effect only for I420. A return value of false indicates read-only. The data in frame is valid only during the callback. To use it asynchronously, copy it yourself.

onCapturedVideoFrame

Callback for local raw data after capture, before preprocessing. To enable it, call enableVideoFrameObserver and set videoSource = AoqVideoSourceCaptured.
virtual bool onCapturedVideoFrame(AoqVideoFrame& frame) = 0;
Parameters

Parameters

Type

Description

frame

AoqVideoFrame&

Captured video frame data. For more information, see AoqVideoFrame.

Returns: true indicates that the data is modified and must be written back to the SDK; false indicates read-only.

onPreEncodeVideoFrame

Callback for local raw data before encoding, after preprocessing. To enable it, call enableVideoFrameObserver and set videoSource = AoqVideoSourcePreEncode.
virtual bool onPreEncodeVideoFrame(AoqTrackType trackType, AoqVideoFrame& frame) = 0;
Parameters

Parameters

Type

Description

trackType

AoqTrackType

Video track type. For more information, see AoqTrackType.

frame

AoqVideoFrame&

Video frame data before encoding. For more information, see AoqVideoFrame.

Returns: true indicates that the data is modified and must be written back to the SDK; false indicates read-only.

onRemoteVideoFrame

Callback for remote raw data after decoding and before rendering. To enable it, call enableVideoFrameObserver and set videoSource = AoqVideoSourceRemote.
virtual bool onRemoteVideoFrame(AoqTrackType trackType, AoqVideoFrame& frame) = 0;
Parameters

Parameters

Type

Description

trackType

AoqTrackType

Video track type. For more information, see AoqTrackType.

frame

AoqVideoFrame&

Remote video frame data. For more information, see AoqVideoFrame.

Returns: true indicates that the data is modified and must be written back to the SDK; false indicates read-only.

Data types and enumerations

General types

AoqCreateConfig

Engine creation configuration.

Field

Type

Default value

Description

workDir

const char*

nullptr

SDK working directory

enableDumpAudio

bool

false

Specifies whether to save audio data (for debugging)

extras

const char*

nullptr

Extended parameters (a JSON string)

AoqConnectConfig

Configuration for connecting to the relay server. relayEndpoints / publishTracks / subscribeTracks are C-style arrays with a length. The array memory is held by the caller and needs to remain valid only during the connect call.

Field

Type

Description

token

const char*

Connection authentication token

sid

const char*

Session ID

certFingerprint

const char*

Server certificate fingerprint

workspaceIdHash

const char*

Workspace hash ID

relayEndpoints

const AoqRelayEndpoint*

Array of relay access points

relayEndpointsCount

size_t

Number of relay access points

publishTracks

const AoqTrackParam*

Array of local publishing track attributes

publishTracksCount

size_t

Number of publishing tracks

subscribeTracks

const AoqTrackParam*

Array of local subscribing track attributes

subscribeTracksCount

size_t

Number of subscribing tracks

AoqRelayEndpoint

A relay access point.

Field

Type

Default value

Description

route_index

int

-1

Path index

endpoint

const char*

nullptr

Server address (domain name or IP address)

port

int

0

Server port

AoqTrackParam

The track attribute.

Field

Type

Default value

Description

trackType

AoqTrackType

Audio

Track type

trackMode

AoqTrackMode

Segment

Streaming or non-streaming mode. Effective only for the audio downlink.

AoqDataMsg

The message data structure. When it is used in a callback, it is guaranteed to be valid only during the callback. If you need to use it asynchronously, copy it yourself.

Field

Type

Description

data

const uint8_t*

Message content. It points to memory held by the caller.

dataSize

size_t

Number of bytes

Statistics types

AoqStats

Engine statistics. Each statistics array is provided as a pointer and a count.

Field

Type

Description

audioPublishStats / audioPublishStatsCount

const AoqAudioPublishStats* / unsigned int

Array of publishing statistics for audio and the number of entries

videoPublishStats / videoPublishStatsCount

const AoqVideoPublishStats* / unsigned int

Array of publishing statistics for video and the number of entries

dataMsgPublishStats / dataMsgPublishStatsCount

const AoqDataMsgPublishStats* / unsigned int

Array of publishing statistics for data messages and the number of entries

audioSubscribeStats / audioSubscribeStatsCount

const AoqAudioSubscribeStats* / unsigned int

Array of subscribing statistics for audio and the number of entries

videoSubscribeStats / videoSubscribeStatsCount

const AoqVideoSubscribeStats* / unsigned int

Array of subscribing statistics for video and the number of entries

dataMsgSubscribeStats / dataMsgSubscribeStatsCount

const AoqDataMsgSubscribeStats* / unsigned int

Array of subscribing statistics for data messages and the number of entries

networkStats

const AoqNetworkStats*

Network statistics

AoqNetworkStats

Network statistics.

Field

Type

Description

sendBitrate

unsigned int

Send bitrate, in bit/s

sendBytes

uint64_t

Cumulative bytes sent

recvBitrate

unsigned int

Receive bitrate, in bit/s

recvBytes

uint64_t

Cumulative bytes received

loss

unsigned int

Packet loss rate, from 0 to 100

rtt

unsigned int

Round-trip latency, in ms

AoqAudioPublishStats

Publishing statistics for audio.

Field

Type

Description

trackType

AoqTrackType

Track type

bitrate

unsigned int

Bitrate, in bit/s

bytes

uint64_t

Cumulative bytes

encodeVolume

unsigned int

Encoding volume of the publishing stream

AoqVideoPublishStats

Publishing statistics for video.

Field

Type

Description

trackType

AoqTrackType

Track type

bitrate

unsigned int

Bitrate, in bit/s

bytes

uint64_t

Cumulative bytes

encodeFps

unsigned int

Encoding frame rate

AoqDataMsgPublishStats

Publishing statistics for data messages.

Field

Type

Description

trackType

AoqTrackType

Track type

bitrate

unsigned int

Bitrate, in bit/s

bytes

uint64_t

Cumulative bytes

AoqAudioSubscribeStats

Subscribing statistics for audio.

Field

Type

Description

trackType

AoqTrackType

Track type

bitrate

unsigned int

Bitrate, in bit/s

bytes

uint64_t

Cumulative bytes

playVolume

unsigned int

Playback volume

AoqVideoSubscribeStats

Subscribing statistics for video.

Field

Type

Description

trackType

AoqTrackType

Track type

bitrate

unsigned int

Bitrate, in bit/s

bytes

uint64_t

Cumulative bytes

decodeFps

unsigned int

Decoding frame rate

renderFps

unsigned int

Rendering frame rate

AoqDataMsgSubscribeStats

Subscribing statistics for data messages.

Field

Type

Description

trackType

AoqTrackType

Track type

bitrate

unsigned int

Bitrate, in bit/s

bytes

uint64_t

Cumulative bytes

Enumerations

AoqErrorCode

Error code enumeration.

Enum value

Value

Description

AoqECOK

0

Success

AoqECParamInvalid

1

Invalid parameter

AoqECStateInvalid

2

Invalid state

AoqECUnSupport

3

The API is called but is not implemented on the current platform or in the current mode

AoqECAudio

100

Generic audio error

AoqECAudioExternalBufferFull

110

External audio buffer is full

AoqECAudioDevice

120

Generic audio device error

AoqECAudioDeviceRecordingAuthFailed

121

Recording permission not granted

AoqECAudioDeviceRecordingOccupied

122

Recording device is in use

AoqECAudioDeviceRecordingBackgroundStart

123

Start recording in the background

AoqECAudioDeviceRecordingStartFail

124

Failed to start recording

AoqECAudioDevicePlayoutOccupied

125

Playback device is in use

AoqECAudioDevicePlayoutBackgroundStart

126

Start playback in the background

AoqECAudioDevicePlayoutStartFail

127

Failed to start playback

AoqECAudioDeviceEarpieceRequiresVoipMode

128

Receiver mode requires VoIP to be enabled

AoqECVideo

200

Generic video error

AoqECVideoExternalBufferFull

210

External video buffer is full

AoqECVideoExternalCaptureNotEnabled

211

External video capture is not enabled

AoqECVideoExternalEncoderNotEnabled

212

External video encoding is not enabled

AoqECVideoDevice

220

Generic video device error

AoqECVideoDeviceCameraOpenFail

221

Failed to open the camera

AoqECVideoDeviceCameraAuthFailed

222

Camera permission not granted

AoqECVideoDeviceCameraOccupied

223

Camera is in use

AoqECVideoDeviceCameraRunningError

224

Camera runtime error

AoqECVideoCodec

230

Generic video codec error

AoqECVideoCodecEncoderInitFail

231

Failed to initialize the encoder

AoqECVideoRender

240

Generic video rendering error

AoqECVideoRenderCreateFail

241

Failed to create the rendering view

AoqECVideoRenderDrawError

242

Rendering drawing error

AoqWarningCode

Warning code enumeration.

Enum value

Value

Description

AoqWCOK

0

No warning

AoqWCAudio

100

Generic audio warning

AoqWCAudioHowling

101

Audio howling detected

AoqWCAudioDevice

120

Generic audio device warning

AoqWCAudioDeviceMicEnumerateError

121

Microphone enumeration error

AoqWCAudioDeviceMicStartTimeout

122

Microphone startup timed out

AoqWCAudioDeviceRecordingError

123

Recording error

AoqWCAudioDeviceSpeakerEnumerateError

124

Speaker enumeration error

AoqWCAudioDeviceSpeakerStartTimeout

125

Speaker startup timed out

AoqWCAudioDevicePlayoutError

126

Playback error

AoqWCVideo

200

Generic video warning

AoqWCVideoCameraEnumerateError

201

Camera enumeration error

AoqWCVideoEncoderSwitched

202

Video encoder switched

AoqWCVideoRenderDowngrade

203

Video rendering downgraded

AoqTrackType

Track type.

Enum value

Value

Description

AoqTrackTypeAudio

0

Audio track

AoqTrackTypeVideo

1

Video track

AoqTrackTypeData

2

Data message track

AoqEncoderType

Encoder type.

Enum value

Value

Description

AoqEncoderTypeUnknown

0

Unknown format

AoqEncoderTypeAudioPCM

1

Audio PCM

AoqEncoderTypeAudioOpus

2

Audio Opus (plug-in based; contact the SDK team to have it built in or dynamically downloaded to the app)

AoqEncoderTypeVideoH264

3

Video H.264

AoqEncoderTypeVideoJpeg

4

Video JPEG

AoqEncoderTypeDataText

5

Message text

AoqTrackMode

Streaming or non-streaming mode. Effective only for the audio downlink.

Enum value

Value

Description

AoqTrackModeSegment

0

Segmented: data is packaged and delivered in semantic segments, such as a sentence.

AoqTrackModeStream

1

Streaming: data is delivered continuously.

AoqConnectionStatus

Engine connection status.

Enum value

Value

Description

AoqConnectionStatusDisconnected

0

Disconnected

AoqConnectionStatusConnecting

1

Connecting

AoqConnectionStatusConnected

2

Connected

AoqConnectionStatusFailed

3

Connection failed

Audio types

AoqAudioCaptureConfig

Audio capture configuration.

Field

Type

Default value

Description

isExternal

bool

false

Specifies whether to use external capture

channel

int

1

Number of audio capture channels. 1 and 2 are supported.

AoqAudioPlaybackConfig

Audio playback configuration.

Field

Type

Default value

Description

isExternal

bool

false

Specifies whether to use external playback

channel

int

1

Number of audio playback channels. 1 and 2 are supported.

AoqAudioCodecConfig

Audio codec configuration.

Field

Type

Default value

Description

trackType

AoqTrackType

Audio

Track type

codecType

AoqEncoderType

AudioPCM

Codec format

sampleRate

int

48000

Sample rate, in Hz. For encoding, Opus 8/16/48K and PCM 8/16/32/48K are supported. For decoding, 24K is additionally supported, but 24K is limited to Segment mode. Stream mode does not support 24K, and an invalid combination triggers the onError callback with AoqECParamInvalid during connect.

channel

int

1

Number of channels. 1 and 2 are supported.

bitrate

int

32000

Bitrate, in bit/s

AoqAudioDeviceState

Audio device state.

Field

Type

Description

state

AoqAudioDeviceStateCode

Status code

reason

int

Error code (AoqErrorCode)

AoqAudioDeviceStateCode

Audio device state code.

Enum value

Value

Description

AoqAudioDeviceNone

0

No state

AoqAudioDeviceRecordStarting

1

Capture starting

AoqAudioDeviceRecordStarted

2

Capture started

AoqAudioDeviceRecordStopping

3

Capture stopping

AoqAudioDeviceRecordStopped

4

Capture stopped

AoqAudioDeviceRecordFail

5

Capture failed

AoqAudioDevicePlayStarting

6

Playback starting

AoqAudioDevicePlayStarted

7

Playback started

AoqAudioDevicePlayStopping

8

Playback stopping

AoqAudioDevicePlayStopped

9

Playback stopped

AoqAudioDevicePlayFail

10

Playback failed

AoqAudioDeviceRouteType

Audio device route type.

Enum value

Value

Description

AoqAudioDeviceRouteDefault

0

Default

AoqAudioDeviceRouteHeadset

1

Headphones

AoqAudioDeviceRouteEarpiece

2

Receiver

AoqAudioDeviceRouteHeadsetNoMic

3

Headphones without a microphone

AoqAudioDeviceRouteSpeakerPhone

4

Built-in speaker

AoqAudioDeviceRouteUsb

5

USB

AoqAudioDeviceRouteBluetooth

6

Bluetooth

AoqAudioDeviceRouteBluetoothA2dp

7

Bluetooth A2DP

AoqAudioFileMixConfig

Configuration for playing an audio file to the publishing stream.

Field

Type

Default value

Description

fileName

const char*

nullptr

File name (including the path). Required.

cycles

int

-1

Number of loops. -1 indicates unlimited looping.

startPosMs

long

0

Start playback position, in ms

publishVolume

int

100

Publishing volume. Valid values: 0 to 100.

playoutVolume

int

100

Playback volume. Valid values: 0 to 100.

AoqAudioFileState

Audio file state.

Field

Type

Description

fileId

const char*

File ID

stateCode

AoqAudioFileStateCode

Status code

errorCode

AoqAudioFileErrorCode

Error code

AoqAudioFileStateCode

Audio file state code.

Enum value

Value

Description

AoqAudioFileNone

0

No state

AoqAudioFileStarted

1

Started

AoqAudioFileStopped

2

Stopped

AoqAudioFilePaused

3

Paused

AoqAudioFileResumed

4

Resumed

AoqAudioFileEnded

5

Playback completed

AoqAudioFileBuffering

6

Buffering

AoqAudioFileBufferingEnd

7

Buffering ended

AoqAudioFileFailed

8

Playback failed

AoqAudioFileErrorCode

Audio file playback error code.

Enum value

Value

Description

AoqAudioFileNoError

0

No error

AoqAudioFileOpenFailed

1

Failed to open the file

AoqAudioFileDecodeFailed

2

Failed to decode the file

AoqAudioExternalStreamConfig

External audio stream configuration.

Field

Type

Default value

Description

trackType

AoqTrackType

Audio

Audio track type

codecType

AoqEncoderType

AudioPCM

Audio stream format. PCM is supported.

channels

int

1

Number of channels. It is limited by the audio codec of the publishing stream, which supports 1 and 2. Additional channels are ignored.

sampleRate

int

48000

Sample rate, in Hz. 8, 12, 16, 24, 32, 44.1, 48, 64, 88.2, 96, 176.4, and 192K are supported.

playoutVolume

int

100

Playback volume. Valid values: 0 to 100.

publishVolume

int

100

Publishing volume. Valid values: 0 to 100.

maxBufferDuration

int

600000

Maximum buffer duration, in ms. Valid values: 100 and above. If the buffered duration in the SDK exceeds this value, Push fails.

enable3A

bool

false

Specifies whether to apply 3A processing to the input PCM

AoqAudioFrameData

Audio data.

Field

Type

Description

dataPtr

void*

Pointer to the audio data

numOfSamples

int

Number of samples (per channel)

bytesPerSample

int

Bytes per sample

numOfChannels

int

Number of channels

samplesPerSec

int

Number of samples per second

pushSequence

int

PCM input round (used for the consumption completion notification of pushAudioExternalStreamData)

timeStamp

int64_t

Timestamp

dataSize

int

Data length

autoGenMute

bool

Valid in data callbacks. true indicates silent data generated by the SDK.

AoqAudioStreamDirection

Audio stream direction.

Enum value

Value

Description

AoqAudioStreamPublish

0

Publishing audio

AoqAudioStreamPlayout

1

Playback audio

AoqAudioExternalStreamToggle

External audio stream control.

Enum value

Value

Description

AoqAudioExternalStreamToggleNormal

0

Recovered

AoqAudioExternalStreamTogglePause

1

Paused

AoqAudioSource

Type of the audio data source.

Enum value

Value

Description

AoqAudioSourceCaptured

0

Captured audio data

AoqAudioSourceProcessCaptured

1

Audio data after 3A processing

AoqAudioSourcePublish

2

Audio data to be published (requires a successful Connect)

AoqAudioSourcePlayback

3

Audio data to be played

AoqAudioObserverMode

Audio frame callback mode.

Enum value

Value

Description

AoqAudioObserverModeReadOnly

0

Read-only

AoqAudioObserverModeReadWrite

1

Read-write

AoqAudioObserverConfig

Parameter settings for audio data callbacks.

Field

Type

Default value

Description

sampleRate

int

48000

Sample rate of the callback audio. It is limited by the source. Resampling is performed if the rates do not match. 8, 12, 16, 24, 32, 44.1, 48, 64, 88.2, 96, 176.4, and 192K are supported.

channels

int

1

Number of audio channels in the callback. 1 and 2 are supported. This parameter is limited by the codec parameters of the subscribing stream.

mode

AoqAudioObserverMode

ReadOnly

Callback mode

AoqAudioVolumeIndicationConfig

Local volume indication configuration.

Field

Type

Default value

Description

interval

int

0

Callback interval, in ms. A value less than or equal to 0 disables the callback. A value greater than 0 and less than 10 is treated as 10.

smooth

int

3

Volume smoothing coefficient. Valid values: 0 to 10. A larger value results in smoother output.

AoqAudioVolume

Local volume information.

Field

Type

Description

volume

int

Smoothed instantaneous volume. Valid values: 0 to 255.

Video types

AoqVideoCaptureConfig

Video capture configuration.

Field

Type

Default value

Description

width

int

1280

Capture width, in pixels. This parameter is ineffective when isExternal=true.

height

int

720

Capture height, in pixels. This parameter is ineffective when isExternal=true.

fps

int

15

Capture frame rate. This parameter is ineffective when isExternal=true (the pace is determined by frame delivery).

isExternal

bool

false

Specifies whether to use external capture. If it is true, the camera is not opened, and frames are fed by pushExternalVideoCapturedFrame.

AoqVideoCanvas

Data structure for video rendering. view is an opaque pointer to the platform-native view handle. On Windows, pass the window handle HWND. The caller must ensure that the lifecycle of view outlasts the period during which it is set by setLocalView / setRemoteView.

Field

Type

Default value

Description

view

void*

nullptr

Handle of the display view (HWND). Pass nullptr to remove the rendering binding.

renderMode

AoqRenderMode

Auto

Rendering mode

AoqRenderMode

Rendering display mode.

Enum value

Value

Description

AoqRenderModeAuto

0

Auto mode

AoqRenderModeStretch

1

Stretch-to-fill mode. When the aspect ratios do not match, the image is stretched to the target ratio and becomes distorted.

AoqRenderModeFill

2

Letterbox mode. When the aspect ratios do not match, black bars are added to the top and bottom or the left and right.

AoqRenderModeCrop

3

Crop mode. When the aspect ratios do not match, the width or height is cropped and part of the image is lost.

AoqVideoPixelFormat

Video pixel format.

Enum value

Value

Description

AoqVideoPixelFormatUnknown

0

Unknown format

AoqVideoPixelFormatI420

1

I420

AoqVideoPixelFormatNV12

2

NV12

AoqVideoPixelFormatNV21

3

NV21

AoqVideoPixelFormatBGRA

4

BGRA

AoqVideoPixelFormatRGBA

5

RGBA

AoqVideoFrame

External video data.

Field

Type

Description

format

AoqVideoPixelFormat

Pixel format

width

int

Width, in pixels

height

int

Height, in pixels

dataPtr

void*

Pointer to packed-format data (NV12/NV21/BGRA/RGBA)

dataSize

int

Number of bytes of packed data

dataY / dataU / dataV

void*

Pointers to the data of the three I420 planes

strideY / strideU / strideV

int

Stride of the three I420 planes

timeStamp

int64_t

Timestamp, in ms. If it is 0, the SDK fills it in with the local clock.

AoqVideoEncodedFrame

An externally encoded video frame. The caller performs the encoding, and the SDK packages and sends the frame directly without re-encoding.

Field

Type

Description

codec

AoqVideoCodecType

Codec format

data

void*

Pointer to the encoded data

dataSize

int

Number of bytes of the encoded data

width

int

Width, in pixels

height

int

Height, in pixels

timeStamp

int64_t

Timestamp, in ms. If it is 0, the SDK fills it in with the local clock.

AoqVideoCodecType

The codec type of the externally encoded frame.

Enum value

Value

Description

AoqVideoCodecTypeJPEG

0

JPEG

AoqVideoDeviceState

Video device state.

Field

Type

Description

state

AoqVideoDeviceStateCode

Status code

reason

int

Error code (AoqErrorCode)

AoqVideoDeviceStateCode

Video device state code.

Enum value

Value

Description

AoqVideoDeviceNone

0

No state

AoqVideoDeviceCaptureStarting

1

Camera starting

AoqVideoDeviceCaptureStarted

2

Camera started

AoqVideoDeviceCaptureStopping

3

Camera stopping

AoqVideoDeviceCaptureStopped

4

Camera stopped

AoqVideoDeviceCaptureFail

5

Failed to start the camera (for example, permission denied or the device is unavailable)

AoqMirrorMode

Mirror mode.

Enum value

Value

Description

AoqMirrorModeDisabled

0

Disable mirroring

AoqMirrorModeEnabled

1

Enable mirroring

AoqOrientationMode

Orientation mode.

Enum value

Value

Description

AoqOrientationModeAuto

0

Auto

AoqOrientationModePortrait

1

Portrait

AoqOrientationModeLandscape

2

Landscape

AoqVideoCodecConfig

Video codec parameters, which are shared by encoding and decoding. For decoding, only trackType / codecType / width / height / fps / bitrate take effect and participate in negotiation as a subscription proposal, whereas minBitrate / keyframeInterval / mirrorMode / orientationMode / isExternal are used only for encoding.

Field

Type

Default value

Description

isExternal

bool

false

External encoding mode. When it is true, you push encoded frames, and the SDK does not perform capture or encoding.

trackType

AoqTrackType

Video

Track type

codecType

AoqEncoderType

VideoH264

Codec format

width

int

540

Resolution width

height

int

960

Resolution height

fps

int

5

Frame rate

bitrate

int

500000

Initial bitrate, in bit/s

minBitrate

int

128000

Minimum bitrate, in bit/s

keyframeInterval

int

2

Keyframe interval, in seconds

mirrorMode

AoqMirrorMode

Disabled

Mirror mode

orientationMode

AoqOrientationMode

Auto

Orientation mode

AoqVideoSource

Data source of the video frame callback (position in the pipeline).

Enum value

Value

Description

AoqVideoSourceCaptured

0

Captured video data before preprocessing

AoqVideoSourcePreEncode

1

Video data before encoding, after preprocessing

AoqVideoSourceRemote

2

Remote video data after decoding and before rendering

AoqVideoObserverMode

Video frame callback mode.

Enum value

Value

Description

AoqVideoObserverModeReadOnly

0

Read-only

AoqVideoObserverModeReadWrite

1

Read-write

AoqVideoObserverAlignment

Width alignment method for video output.

Enum value

Value

Description

AoqVideoObserverAlignmentDefault

0

Default

AoqVideoObserverAlignmentEven

1

Even-number alignment

AoqVideoObserverAlignment4

2

4-byte alignment

AoqVideoObserverAlignment8

3

8-byte alignment

AoqVideoObserverAlignment16

4

16-byte alignment

AoqVideoObserverConfig

Parameter settings for video data callbacks.

Field

Type

Default value

Description

format

AoqVideoPixelFormat

I420

Expected pixel format of the callback data

alignment

AoqVideoObserverAlignment

Default

Width alignment policy

mode

AoqVideoObserverMode

ReadOnly

Callback mode. ReadWrite is supported only for I420.

mirrorApplied

bool

false

Specifies whether to mirror the callback data

Text Generation
Image Generation
  • FAQ
Video Generation
Audio
Text Embedding
Model Production