rtc - YoYoGames/GMEXT-EpicOnlineServices GitHub Wiki

RTC

Epic Online Services Interface: RTC Interface

Integrate the Real-time Communication (RTC) Data Interface into your game to use the features of the Epic Online Services (EOS) RTC Data service. Use the RTC Data Interface to allow players to send data messages to each other in a voice chat room.

Note

The RTC-data service restricts the amount of data that a player can send. See the RTC-data Service Limits section of this document for details.

Note

See the RTC Data Interface for a more detailed introduction.

Functions

This module offers a collection of functions designed to address specific tasks and provide utilities for various purposes. Explore the available functions to make the most of the functionalities provided by this module.

Structs

This module offers a collection of structs, which serve as custom data models for organizing and structuring data. Explore the provided structs to better understand the relationships between data elements and simplify your data manipulation tasks.

Constants

This module includes a set of predefined constants that can be utilized for various purposes. Browse through the available constants to find values relevant to your needs and enhance the efficiency of your code.



Back To Top

eos_rtc_add_notify_disconnected

Epic Online Services Function: EOS_RTC_AddNotifyDisconnected

This function registers to receive notifications when disconnected from the room. If the returned notification ID is valid, you must call eos_rtc_remove_notify_disconnected when you no longer wish to have the Social Async Event called. This function will always return EOS_INVALID_NOTIFICATIONID when used with lobby RTC room. To be notified of the connection status of a Lobby-managed RTC room, use the eos_lobby_add_notify_rtc_room_connection_changed function instead.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_rtc_add_notify_disconnected(local_user_id, room_name)
Argument Type Description
local_user_id String The Product User ID of the user trying to request this operation.
room_name String The room this event is registered on.



Returns:

Real


Triggers:

Social Async Event

Key Type Description
type String the string "eos_rtc_add_notify_disconnected"
local_user_id String The Product User ID of the user who initiated this request.
room_name String The room associated with this event.
status EOS_RESULT This holds: EOS_RESULT.SUCCESS The room was left cleanly. EOS_RESULT.NO_CONNECTION: There was a network issue connecting to the server (retryable). EOS_RESULT.RTC_USER_KICKED: The user has been kicked by the server (retryable). EOS_RESULT.SERVICE_FAILURE: A known error occurred during interaction with the server (retryable). EOS_RESULT.UNEXPECTED_ERROR Unexpected error (retryable).
status_message String Text representation of the status code



Back To Top

eos_rtc_add_notify_participant_status_changed

Epic Online Services Function: EOS_RTC_AddNotifyParticipantStatusChanged

This function registers to receive notifications when a participant's status changes (e.g.: join or leave the room), or when the participant is added or removed from an applicable block list (e.g.: Epic block list and/or current platform's block list). If the returned notification ID is valid, you must call eos_rtc_remove_notify_participant_status_changed when you no longer wish to have the Social Async Event triggered. If you register to this notification before joining a room, you will receive a notification for every member already in the room when you join said room. This allows you to know who is already in the room when you join. To be used effectively with a Lobby-managed RTC room, this should be registered during the eos_lobby_create_lobby or eos_lobby_join_lobby completion callbacks when the ResultCode is EOS_RESULT.SUCCESS. If this notification is registered after that point, it is possible to miss notifications for already-existing room participants. You can use this notification to detect internal automatic RTC blocks due to block lists. When a participant joins a room and while the system resolves the block list status of said participant, the participant is set to blocked and you'll receive a notification with participant_status set to EOS_RTC_PARTICIPANT_STATUS.JOINED and participant_in_blocklist set to true. Once the block list status is resolved, if the player is not in any applicable block list(s), it is then unblocked and a new notification is sent with participant_status set to EOS_RTC_PARTICIPANT_STATUS.JOINED and participant_in_blocklist set to false.

Note

This notification is also raised when the local user joins the room, but NOT when the local user leaves the room.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_rtc_add_notify_participant_status_changed(local_user_id, room_name)
Argument Type Description
local_user_id String The Product User ID of the user trying to request this operation.
room_name String The room this event is registered on.



Returns:

Real


Triggers:

Social Async Event

Key Type Description
type String the string "eos_rtc_add_notify_participant_status_changed"
local_user_id String The Product User ID of the user who initiated this request.
room_name String The room associated with this event.
participant_in_blocklist Boolean The participant's block list status, if participant_status is EOS_RTC_PARTICIPANT_STATUS.JOINED. This is set to true if the participant is in any of the local user's applicable block lists, such as Epic block list or any of the current platform's block lists. It can be used to detect when an internal automatic RTC block is applied because of trust and safety restrictions.
participant_id String The participant whose status changed.
participant_status EOS_RTC_PARTICIPANT_STATUS What status change occurred



Back To Top

eos_rtc_add_notify_room_statistics_updated

Epic Online Services Function: EOS_RTC_AddNotifyRoomStatisticsUpdated

This function registers to receive notifications to receiving periodical statistics update. If the returned notification ID is valid, you must call eos_rtc_remove_notify_room_statistics_updated when you no longer wish to have the Social Async Event called.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_rtc_add_notify_room_statistics_updated(local_user_id, room_name)
Argument Type Description
local_user_id String The Product User ID of the user trying to request this operation
room_name String The room this event is registered on



Returns:

Real


Triggers:

Social Async Event

Key Type Description
type String the string "eos_rtc_add_notify_room_statistics_updated"
local_user_id String The Product User ID of the user who initiated this request
room_name String The room associated with this event
statistic String Statistics in JSON format



Back To Top

eos_rtc_block_participant

Epic Online Services Function: EOS_RTC_BlockParticipant

You can use this function to block a participant already connected to the room. After blocking them no media will be sent or received between that user and the local user. This method can be used after receiving the OnParticipantStatusChanged notification.

The function returns an async identifier.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_rtc_block_participant(blocked, local_user_id, participant_id, room_name)
Argument Type Description
blocked Boolean Block or unblock the participant
local_user_id String The Product User ID of the user trying to request this operation
participant_id String The Product User ID of the participant to block
room_name String The room the users should be blocked on



Returns:

Real


Triggers:

Social Async Event

Key Type Description
type String the string "eos_rtc_block_participant"
identifier Real The async identifier returned by the call to the function
local_user_id String The Product User ID of the user who initiated this request
participant_id String The Product User ID of the participant being blocked
blocked Boolean The block state that should have been set



Back To Top

eos_rtc_join_room

Epic Online Services Function: EOS_RTC_JoinRoom

You can use this function to join a room. This function does not need to be called for the Lobby RTC Room system; doing so will return EOS_RESULT.ACCESS_DENIED. The lobby system will automatically join and leave RTC Rooms for all lobbies that have RTC rooms enabled.

The function returns an async identifier.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_rtc_join_room(local_user_id, room_name, participant_id, participant_token, manual_audio_input_enabled, manual_audio_output_enabled, client_base_url, flags)
Argument Type Description
local_user_id String The product user id of the user trying to request this operation.
room_name String The room the user would like to join.
participant_id String The participant id used to join the room. If an empty string "" is passed the local_user_id will be used instead.
participant_token String Authorization credential token to join the room
manual_audio_input_enabled Boolean Enable or disable Manual Audio Input. If manual audio input is enabled and audio recording is not started the audio buffers must be passed manually using eos_rtc_audio_send_audio.
manual_audio_output_enabled Boolean Enable or disable Manual Audio Output. If manual audio output is enabled and audio rendering is not started the audio buffers must be received with eos_rtc_audio_add_notify_audio_before_render and rendered manually.
client_base_url String The room the user would like to join
flags EOS_RTC_JOINROOMFLAGS Join room flags, e.g., EOS_RTC_JOINROOMFLAGS_ENABLE_ECHO. This is a bitwise-or union of the defined flags.



Returns:

Real


Triggers:

Social Async Event

Key Type Description
type String the string "eos_rtc_join_room"
identifier Real The async identifier returned by the call to the function
local_user_id String The Product User ID of the user who initiated this request
room_name String The room the user was trying to join
options Array of Struct an array of structs holding a key and value variable



Back To Top

eos_rtc_leave_room

Epic Online Services Function: EOS_RTC_LeaveRoom

You can use this function to leave a room and clean up all the resources associated with it. This function has to always be called when the room is abandoned even if the user is already disconnected for other reasons. This function does not need to called for the Lobby RTC Room system; doing so will return EOS_RESULT.ACCESS_DENIED. The lobby system will automatically join and leave RTC Rooms for all lobbies that have RTC rooms enabled.

The function returns an async identifier.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_rtc_leave_room(local_user_id, room_name)
Argument Type Description
local_user_id String Product User ID of the user requesting to leave the room
room_name String The room to leave



Returns:

Real


Triggers:

Social Async Event

Key Type Description
type String the string "eos_rtc_leave_room"
identifier Real The async identifier returned by the call to the function
local_user_id String The Product User ID of the user who initiated this request
room_name String The room the user was trying to leave



Back To Top

eos_rtc_remove_notify_disconnected

Epic Online Services Function: EOS_RTC_RemoveNotifyDisconnected

This function unregisters a previously bound notification handler from receiving room disconnection notifications.


Syntax:

eos_rtc_remove_notify_disconnected(notification_id)
Argument Type Description
notification_id Real The Notification ID representing the registered callback



Returns:

N/A




Back To Top

eos_rtc_remove_notify_participant_status_changed

Epic Online Services Function: EOS_RTC_RemoveNotifyParticipantStatusChanged

This function unregisters a previously bound notification handler from receiving participant status change notifications.


Syntax:

eos_rtc_remove_notify_participant_status_changed(notification_id)
Argument Type Description
notification_id Real The Notification ID representing the registered callback



Returns:

N/A




Back To Top

eos_rtc_remove_notify_room_statistics_updated

Epic Online Services Function: EOS_RTC_RemoveNotifyRoomStatisticsUpdated

This function unregisters a previously bound notification handler from receiving periodical statistics update notifications.


Syntax:

eos_rtc_remove_notify_room_statistics_updated(notification_id)
Argument Type Description
notification_id Real The Notification ID representing the registered callback



Returns:

N/A




Back To Top

eos_rtc_set_room_setting

Epic Online Services Function: EOS_RTC_SetRoomSetting

You can use this function to control settings for the specific room.

The available values of setting_name are:

  • "DisableEchoCancelation": Disables the use of echo cancellation for the audio channel. Default "False".
  • "DisableNoiseSupression": Disables the use of noise suppression for the audio channel. Default "False".
  • "DisableAutoGainControl": Disables the use of auto gain control for the audio channel. Default "False".
  • "DisableDtx": Allows to disable the use of DTX. Default "False".

The function returns one of the following:

  • EOS_RESULT.SUCCESS when the setting is successfully set
  • EOS_RESULT.NOT_FOUND when the setting is unknown
  • EOS_RESULT.INVALID_PARAMETERS when the value is invalid

Syntax:

eos_rtc_set_room_setting(local_user_id, room_name, setting_name, setting_value)
Argument Type Description
local_user_id String The Product User ID of the user trying to request this operation
room_name String The room the setting will be applied to
setting_name String The setting that should be set
setting_value String The value to set the setting to



Returns:

EOS_RESULT




Back To Top

eos_rtc_set_setting

Epic Online Services Function: EOS_RTC_SetSetting

You can use this function to control settings.

  • "DisableEchoCancelation": Disables the use of echo cancellation for the audio channel. Default "False".
  • "DisableNoiseSupression": Disables the use of noise suppression for the audio channel. Default "False".
  • "DisableAutoGainControl": Disables the use of auto gain control for the audio channel. Default "False".
  • "DisableDtx": Allows to disable the use of DTX. Default "False".

The function returns one of the following:

  • EOS_RESULT.SUCCESS when the setting is successfully set
  • EOS_RESULT.NOT_FOUND when the setting is unknown
  • EOS_RESULT.INVALID_PARAMETERS when the value is invalid

Syntax:

eos_rtc_set_setting(setting_name, setting_value)
Argument Type Description
setting_name String The setting that should be set
setting_value String The value to set the setting to



Returns:

EOS_RESULT




Back To Top

eos_rtc_admin_copy_user_token_by_index

Epic Online Services Function: EOS_RTCAdmin_CopyUserTokenByIndex

This function fetches a user token when called inside of the OnQueryJoinRoomTokenComplete callback, initiating the query.

The function returns one of the following:

  • EOS_RESULT.SUCCESS if the information is available
  • EOS_RESULT.NOT_FOUND if the user token is not found

Syntax:

eos_rtc_admin_copy_user_token_by_index(query_id, user_token_index)
Argument Type Description
query_id Real The query identifier received as part of a previous query
user_token_index Real The Product User ID for the user whose user token we're copying



Returns:

EOS_RESULT




Back To Top

eos_rtc_admin_copy_user_token_by_user_id

Epic Online Services Function: EOS_RTCAdmin_CopyUserTokenByUserId

This function fetches a user token for a given user ID when called inside of the OnQueryJoinRoomTokenComplete callback.


Syntax:

eos_rtc_admin_copy_user_token_by_user_id(query_id, target_user_id)
Argument Type Description
query_id Real The query identifier received as part of a previous query
target_user_id String The Product User ID for the user whose user token we're copying



Returns:

Real




Back To Top

eos_rtc_admin_kick

Epic Online Services Function: EOS_RTCAdmin_Kick

This function starts an asynchronous task that removes a participant from a room and revokes their token.

The function returns an async identifier.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_rtc_admin_kick(room_name, target_user_id)
Argument Type Description
room_name String The room name to kick the participant from
target_user_id String The product User ID of the participant to kick from the room



Returns:

Real


Triggers:

Social Async Event

Key Type Description
type String the string "eos_rtc_admin_kick"
identifier Real The identifier returned by the function



Back To Top

eos_rtc_admin_query_join_room_token

Epic Online Services Function: EOS_RTCAdmin_QueryJoinRoomToken

This function queries for a list of user tokens for joining a room. Each query generates a query ID (see the Social Async Event) which should be used to retrieve the tokens from inside the callback. This query ID and query result itself are only valid for the duration of the callback.

The function returns an async identifier.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_rtc_admin_query_join_room_token(local_user_id, room_name, array_ids, array_ips)
Argument Type Description
local_user_id String The product User ID for the local user who is querying join room tokens
room_name String The room name to request a token for
array_ids Array An array of Product User IDs indicating the users to retrieve a token for
array_ips Array An array of IP Addresses, one for each of the users to query tokens for. If you pass an empty array, IP Addresses will be ignored. IPv4 format: "0.0.0.0", IPv6 format: "0:0:0:0:0:0:0:0"



Returns:

Real


Triggers:

Social Async Event

Key Type Description
type String the string "eos_rtc_admin_query_join_room_token"
identifier Real The identifier returned by the function
status EOS_RESULT The result code for the operation. EOS_RESULT.SUCCESS indicates that the operation succeeded; other codes indicate errors.
status_message String Text representation of the status code
client_base_url String URL passed to backend to join room
query_id Real If the query completed successfully, this contains an identifier that should be used to retrieve the tokens. This identifier is only valid for the duration of the callback.
token_count Real How many tokens received as result of the query



Back To Top

eos_rtc_admin_set_participant_hard_mute

Epic Online Services Function: EOS_RTCAdmin_SetParticipantHardMute

This function starts an asynchronous task that remotely mutes/unmutes a room participant. This remotely mutes the specified participant, so no audio is sent from that participant to any other participant in the room.

The function returns an async identifier.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_rtc_admin_set_participant_hard_mute(mute, room_name, target_user_id)
Argument Type Description
mute Boolean The hard mute status (mute on or off)
room_name String The room to kick the participant from
target_user_id String The product User ID of the participant to hard mute for every participant in the room



Returns:

Real


Triggers:

Social Async Event

Key Type Description
type String the string "eos_rtc_admin_set_participant_hard_mute"
identifier Real The identifier returned by the function
status EOS_RESULT The result code for the operation. EOS_RESULT.SUCCESS indicates that the operation succeeded; other codes indicate errors.
status_message String Text representation of the status code



Back To Top

eos_rtc_audio_add_notify_audio_before_render

Epic Online Services Function: EOS_RTCAudio_AddNotifyAudioBeforeRender

This function registers to receive notifications with remote audio buffers before they are rendered. This gives you access to the audio data received, allowing for example the implementation of custom filters/effects. If the returned notification ID is valid, you must call eos_rtc_audio_remove_notify_audio_before_render when you no longer wish to have the Social Async Event called.

The function returns a notification ID representing the registered callback if successful, an invalid notification ID if not.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_rtc_audio_add_notify_audio_before_render(local_user_id, room_name, unmixed_audio)
Argument Type Description
local_user_id String The Product User ID of the user trying to request this operation.
room_name String The room this event is registered on.
unmixed_audio Boolean Mixed audio or unmixed audio.



Returns:

Real


Triggers:

Social Async Event

Key Type Description
type String the string "eos_rtc_audio_add_notify_audio_before_render"
local_user_id String The Product User ID of the user who initiated this request.
room_name String The room associated with this event.
participant_id String The Product User ID of the participant if unmixed_audio was set to true when setting the notifications, or empty if unmixed_audio was set to false and thus the buffer is the mixed audio of all participants



Back To Top

eos_rtc_audio_add_notify_audio_before_send

Epic Online Services Function: EOS_RTCAudio_AddNotifyAudioBeforeSend

This function registers to receive notifications when local audio buffers are about to be encoded and sent. This gives you access to the audio data about to be sent, allowing for example the implementation of custom filters/effects. If the returned notification ID is valid, you must call eos_rtc_audio_remove_notify_audio_before_send when you no longer wish to have the Social Async Event called.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_rtc_audio_add_notify_audio_before_send(local_user_id, room_name)
Argument Type Description
local_user_id String The Product User ID of the user trying to request this operation
room_name String The room this event is registered on



Returns:

Real


Triggers:

Social Async Event

Key Type Description
type String the string "eos_rtc_audio_add_notify_audio_before_send"
local_user_id String The Product User ID of the user who initiated this request
room_name String The room associated with this event



Back To Top

eos_rtc_audio_add_notify_audio_devices_changed

Epic Online Services Function: EOS_RTCAudio_AddNotifyAudioDevicesChanged

This function registers to receive notifications when an audio device is added or removed to the system. If the returned notification ID is valid, you must call eos_rtc_audio_remove_notify_audio_devices_changed when you no longer wish to have the Social Async Event called.

The library will try to use user selected audio device while following these rules:

  • if none of the audio devices has been available and connected before - the library will try to use it;
  • if user selected device failed for some reason, default device will be used instead (and user selected device will be memorized);
  • if user selected a device but it was not used for some reason (and default was used instead), when devices selection is triggered we will try to use user selected device again;
  • triggers to change a device: when new audio device appears or disappears - library will try to use previously user selected;
  • if for any reason, a device cannot be used - the library will fallback to using default;
  • if a configuration of the current audio device has been changed, it will be restarted.

The function returns an async identifier.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_rtc_audio_add_notify_audio_devices_changed()



Returns:

Int64


Triggers:

Social Async Event

Key Type Description
type String the string "eos_rtc_audio_add_notify_audio_devices_changed"



Back To Top

eos_rtc_audio_add_notify_audio_input_state

Epic Online Services Function: EOS_RTCAudio_AddNotifyAudioInputState

This function registers to receive notifications when audio input state changed. If the returned notification ID is valid, you must call eos_rtc_audio_remove_notify_audio_input_state when you no longer wish to have the Social Async Event called.

The function returns the notification ID representing the registered callback if successful, an invalid notification ID if not.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_rtc_audio_add_notify_audio_input_state(local_user_id, room_name)
Argument Type Description
local_user_id String The Product User ID of the user trying to request this operation
room_name String The room this event is registered on



Returns:

Int64


Triggers:

Social Async Event

Key Type Description
type String the string "eos_rtc_audio_add_notify_audio_input_state"
local_user_id String The Product User ID of the user who initiated this request
room_name String The room associated with this event
status EOS_RTC_AUDIO_INPUT_STATUS The status of the audio input



Back To Top

eos_rtc_audio_add_notify_audio_output_state

Epic Online Services Function: EOS_RTCAudio_AddNotifyAudioOutputState

This function registers to receive notifications when audio output state changed. If the returned notification ID is valid, you must call eos_rtc_audio_remove_notify_audio_output_state when you no longer wish to have the Social Async Event called.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_rtc_audio_add_notify_audio_output_state(local_user_id, room_name)
Argument Type Description
local_user_id String The Product User ID of the user trying to request this operation
room_name String The room this event is registered on



Returns:

Int64


Triggers:

Social Async Event

Key Type Description
type String the string "eos_rtc_audio_add_notify_audio_output_state"
local_user_id String The Product User ID of the user who initiated this request
room_name String The room associated with this event
status EOS_RTC_AUDIO_OUTPUT_STATUS The status of the audio output



Back To Top

eos_rtc_audio_add_notify_participant_updated

Epic Online Services Function: EOS_RTCAudio_AddNotifyParticipantUpdated

This function registers to receive notifications when a room participant audio status is updated (e.g. when mute state changes or speaking flag changes). The notification is raised when the participant's audio status is updated. In order not to miss any participant status changes, applications need to add the notification before joining a room. If the returned notification ID is valid, you must call eos_rtc_audio_remove_notify_participant_updated when you no longer wish to have the Social Async Event called.

The function returns a notification ID representing the registered callback if successful, an invalid notification ID if not.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_rtc_audio_add_notify_participant_updated(local_user_id, room_name)
Argument Type Description
local_user_id String The Product User ID of the user trying to request this operation
room_name String The room this event is registered on



Returns:

Int64


Triggers:

Social Async Event

Key Type Description
type String the string "eos_rtc_audio_add_notify_participant_updated"
local_user_id String The Product User ID of the user who initiated this request
room_name String The room associated with this event
speaking Real The participant speaking / non-speaking status
audio_status EOS_RTC_AUDIO_STATUS The participant audio status (enabled, disabled)
participant_id String The participant updated



Back To Top

eos_rtc_audio_copy_input_device_information_by_index

Epic Online Services Function: EOS_RTCAudio_CopyInputDeviceInformationByIndex

This function fetches an audio input device's information from the given index that are cached locally.


Syntax:

eos_rtc_audio_copy_input_device_information_by_index(device_index)
Argument Type Description
device_index Real The index of the audio input device's information to retrieve



Returns:

AudioInputDeviceInformation




Back To Top

eos_rtc_audio_copy_output_device_information_by_index

Epic Online Services Function: EOS_RTCAudio_CopyOutputDeviceInformationByIndex

This function fetches an audio output device's information from the given index that are cached locally.


Syntax:

eos_rtc_audio_copy_output_device_information_by_index(device_index)
Argument Type Description
device_index Real The index of the audio output device's information to retrieve



Returns:

AudioOutputDeviceInformation




Back To Top

eos_rtc_audio_get_audio_output_devices_count

Epic Online Services Function: EOS_RTCAudio_GetOutputDevicesCount

This function fetches the number of audio output devices available in the system that are cached locally. The returned value should not be cached and should instead be used immediately with the eos_rtc_audio_copy_output_device_information_by_index function.

The function returns the number of audio output devices available in the system or 0 if there is an error.


Syntax:

eos_rtc_audio_get_audio_output_devices_count()



Returns:

Real




Back To Top

eos_rtc_audio_get_input_devices_count

Epic Online Services Function: EOS_RTCAudio_GetInputDevicesCount

This function fetches the number of audio input devices available in the system that are cached locally. The returned value should not be cached and should instead be used immediately with the eos_rtc_audio_copy_input_device_information_by_index function.

The function returns the number of audio input devices available in the system or 0 if there is an error.


Syntax:

eos_rtc_audio_get_input_devices_count()



Returns:

Real




Back To Top

eos_rtc_audio_query_input_devices_information

Epic Online Services Function: EOS_RTCAudio_QueryInputDevicesInformation

This function queries for a list of audio input devices available in the system together with their specifications.

It returns the async identifier that you can compare against in the Social Async Event.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_rtc_audio_query_input_devices_information()



Returns:

Real


Triggers:

Social Async Event

Key Type Description
type String the string "eos_rtc_audio_query_input_devices_information"
status EOS_RESULT EOS_RESULT.SUCCESS if the operation succeeded, EOS_RESULT.INVALID_PARAMETERS if any of the parameters were incorrect
status_message String Text representation of the status code
identifier Real The identifier returned by the original call to the function



Back To Top

eos_rtc_audio_query_output_devices_information

Epic Online Services Function: EOS_RTCAudio_QueryOutputDevicesInformation

This function queries for a list of audio output devices available in the system together with their specifications.

It returns the async identifier that you can compare against in the Social Async Event.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_rtc_audio_query_output_devices_information()



Returns:

Real


Triggers:

Social Async Event

Key Type Description
type String the string "eos_rtc_audio_query_output_devices_information"
status EOS_RESULT EOS_RESULT.SUCCESS if the operation succeeded, EOS_RESULT.INVALID_PARAMETERS if any of the parameters were incorrect
status_message String Text representation of the status code
identifier Real The identifier returned by the original call to the function



Back To Top

eos_rtc_audio_register_platform_user

Epic Online Services Function: EOS_RTCAudio_RegisterPlatformUser

You can use this function to inform the audio system of a user. This function is only necessary for some platforms.

The function returns one of the following:

  • "EOS_RESULT.SUCCESS" if the user was successfully registered
  • "EOS_RESULT.INVALID_PARAMETERS" if any of the parameters are incorrect
  • "EOS_RESULT.UNEXPECTED_ERROR" otherwise

Syntax:

eos_rtc_audio_register_platform_user(user_id)
Argument Type Description
user_id String The platform dependent user ID



Returns:

EOS_RESULT




Back To Top

eos_rtc_audio_remove_notify_audio_before_render

Epic Online Services Function: EOS_RTCAudio_RemoveNotifyAudioBeforeRender

This function unregisters a previously bound notification handler from receiving remote audio buffers before they are rendered.


Syntax:

eos_rtc_audio_remove_notify_audio_before_render(notification_id)
Argument Type Description
notification_id Real The notification ID representing the registered callback



Returns:

N/A




Back To Top

eos_rtc_audio_remove_notify_audio_before_send

Epic Online Services Function: EOS_RTCAudio_RemoveNotifyAudioBeforeSend

This function unregisters a previously bound notification handler from receiving local audio buffers before they are encoded and sent.


Syntax:

eos_rtc_audio_remove_notify_audio_before_send(notification_id)
Argument Type Description
notification_id Real The notification ID representing the registered callback



Returns:

N/A




Back To Top

eos_rtc_audio_remove_notify_audio_devices_changed

Epic Online Services Function: EOS_RTCAudio_RemoveNotifyAudioDevicesChanged

This function unregisters a previously bound notification handler from receiving audio devices notifications.


Syntax:

eos_rtc_audio_remove_notify_audio_devices_changed(notification_id)
Argument Type Description
notification_id Real The notification ID representing the registered callback



Returns:

N/A




Back To Top

eos_rtc_audio_remove_notify_audio_input_state

Epic Online Services Function: EOS_RTCAudio_RemoveNotifyAudioInputState

This function unregisters a previously bound notification handler from receiving notifications on audio output state changed.


Syntax:

eos_rtc_audio_remove_notify_audio_input_state(notification_id)
Argument Type Description
notification_id Real The notification ID representing the registered callback



Returns:

N/A




Back To Top

eos_rtc_audio_remove_notify_audio_output_state

Epic Online Services Function: EOS_RTCAudio_RemoveNotifyAudioOutputState

This function unregisters a previously bound notification handler from receiving notifications on audio output state changed.


Syntax:

eos_rtc_audio_remove_notify_audio_output_state(notification_id)
Argument Type Description
notification_id Real The notification ID representing the registered callback



Returns:

N/A




Back To Top

eos_rtc_audio_remove_notify_participant_updated

Epic Online Services Function: EOS_RTCAudio_RemoveNotifyParticipantUpdated

This function unregisters a previously bound notification handler from receiving participant updated notifications.


Syntax:

eos_rtc_audio_remove_notify_participant_updated(notification_id)
Argument Type Description
notification_id Real The notification ID representing the registered callback



Returns:

N/A




Back To Top

eos_rtc_audio_send_audio

Epic Online Services Function: EOS_RTCAudio_SendAudio

You can use this function to push a new audio buffer to be sent to the participants of a room. This should only be used if Manual Audio Input was enabled locally for the specified room.


Syntax:

eos_rtc_audio_send_audio(channels, frames_count, frames, sample_rate, local_user_id, room_name)
Argument Type Description
channels Real The number of audio channels
frames_count Real The number of frames
frames Buffer The buffer storing the frames
sample_rate Real The sample rate of the audio in the buffer
local_user_id String The Product User ID of the user trying to request this operation
room_name String The room this event is registered on



Returns:

N/A




Back To Top

eos_rtc_audio_set_input_device_settings

Epic Online Services Function: EOS_RTCAudio_SetInputDeviceSettings

You can use this function to set audio input device settings, such as the active input device, or platform AEC.

The function returns an async identifier.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_rtc_audio_set_input_device_settings(platform_aec, local_user_id, real_device_id)
Argument Type Description
platform_aec Boolean Whether to enable or disable Platform AEC (Acoustic Echo Cancellation) if available.
local_user_id String The Product User ID of the user trying to request this operation.
real_device_id String The device ID to be used for this user. Pass an empty string to use a default input device. If the device ID is invalid, the default device will be used instead. Despite this fact, that device ID will be stored and the library will try to move on it when an audio device pool is being changed. The actual hardware audio input device usage depends on the current payload and optimized not to use it when generated audio frames cannot be processed by someone else based on a scope of rules (For instance, when a client is alone in a room).



Returns:

Real


Triggers:

Social Async Event

Key Type Description
type String the string "eos_rtc_audio_set_input_device_settings"
status EOS_RESULT EOS_RESULT.SUCCESS if the operation succeeded, EOS_RESULT.INVALID_PARAMETERS if any of the parameters are incorrect
status_message String Text representation of the status code
identifier Real The identifier returned by the original call to the function
real_device_id String The associated audio input device ID



Back To Top

eos_rtc_audio_set_output_device_settings

Epic Online Services Function: EOS_RTCAudio_SetOutputDeviceSettings

You can use this function to set audio output device settings, such as the active output device.

The function returns an async identifier.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_rtc_audio_set_output_device_settings(local_user_id, real_device_id)
Argument Type Description
local_user_id String The Product User ID of the user who initiated this request
real_device_id String The device ID to be used for this user. Pass an empty string to use a default output device. If the device ID is invalid, the default device will be used instead. Despite this fact, that device ID will be stored and the library will try to move on it when an audio device pool is being changed. The actual hardware audio output device usage depends on the current payload and optimized not to use it when generated audio frames cannot be processed by someone else based on a scope of rules (For instance, when a client is alone in a room).



Returns:

Real


Triggers:

Social Async Event

Key Type Description
type String the string "eos_rtc_audio_set_output_device_settings"
status EOS_RESULT EOS_RESULT.SUCCESS if the operation succeeded, EOS_RESULT.INVALID_PARAMETERS if any of the parameters are incorrect
status_message String Text representation of the status code
identifier Real The identifier returned by the original call to the function
real_device_id String The associated audio output device ID



Back To Top

eos_rtc_audio_unregister_platform_user

Epic Online Services Function: EOS_RTCAudio_UnregisterPlatformUser

You can use this function to remove a user that was added with eos_rtc_audio_register_platform_user. This function is only necessary for some platforms.

The function returns an async identifier.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_rtc_audio_unregister_platform_user(platform_user_id)
Argument Type Description
platform_user_id String The account of a user associated with this event



Returns:

Real


Triggers:

Social Async Event

Key Type Description
type String the string "eos_rtc_audio_unregister_platform_user"
status EOS_RESULT EOS_RESULT.SUCCESS if the user was successfully unregistered, EOS_RESULT.INVALID_PARAMETERS if any of the parameters are incorrect, EOS_RESULT.UNEXPECTED_ERROR otherwise
status_message String Text representation of the status code
identifier Real The identifier returned by the original call to the function
platform_user_id String The platform dependent user ID



Back To Top

eos_rtc_audio_update_participant_volume

Epic Online Services Function: EOS_RTCAudio_UpdateParticipantVolume

You can use this function to change participant audio volume for a room.

The function returns an async identifier.

Note

Due to Epic Online Services implementation details, this function requires that you first register to any notification for room.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_rtc_audio_update_participant_volume(local_user_id, participant_id, room_name, volume)
Argument Type Description
local_user_id String The Product User ID of the user trying to request this operation
participant_id String The participant to modify or an empty string to update the global configuration
room_name String The room this setting should be applied on
volume Real The volume to be set for received audio (range 0.0 to 100.0). Volume 50 means that the audio volume is not modified and stays in its source value.



Returns:

Real


Triggers:

Social Async Event

Key Type Description
type String the string "eos_rtc_audio_unregister_platform_user"
status EOS_RESULT EOS_RESULT.SUCCESS if volume of remote participant audio was successfully changed, EOS_RESULT.UNEXPECTED_ERROR otherwise
status_message String Text representation of the status code
identifier Real The identifier returned by the original call to the function
local_user_id String The Product User ID of the user who initiated this request
participant_id String The participant to modify
room_name String The room this settings should be applied on
volume Real The volume that was set for received audio (range 0.0 to 100.0)



Back To Top

eos_rtc_audio_update_receiving

Epic Online Services Function: EOS_RTCAudio_UpdateReceiving

You can use this function to tweak incoming audio options for a room.

The function returns an async identifier.

Note

Due to Epic Online Services implementation details, this function requires that you first register to any notification for room.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_rtc_audio_update_receiving(local_user_id, participant_id, room_name, audio_enabled)
Argument Type Description
local_user_id String The Product User ID of the user trying to request this operation
participant_id String The participant to modify or an empty string "" to update the global configuration
room_name String The room this setting should be applied on
audio_enabled Boolean Whether to mute or unmute audio track



Returns:

Real


Triggers:

Social Async Event

Key Type Description
type String the string "eos_rtc_audio_update_receiving"
status EOS_RESULT EOS_RESULT.SUCCESS if receiving of channels of remote users was successfully enabled/disabled, EOS_RESULT.NOT_FOUND if the participant isn't found by participant_id, EOS_RESULT.UNEXPECTED_ERROR otherwise
status_message String Text representation of the status code
identifier Real The identifier returned by the original call to the function
participant_id String The participant modified
room_name String The room this setting was applied on
audio_enabled Boolean Whether the audio track is muted or unmuted



Back To Top

eos_rtc_audio_update_receiving_volume

Epic Online Services Function: EOS_RTCAudio_UpdateReceivingVolume

You can use this function to change the incoming audio volume for a room.

The function returns an async identifier.

Note

Due to Epic Online Services implementation details, this function requires that you first register to any notification for room.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_rtc_audio_update_receiving_volume(local_user_id, room_name, volume)
Argument Type Description
local_user_id String The Product User ID of the user trying to request this operation.
room_name String The room this setting should be applied on.
volume Real The volume to be set for received audio (range 0.0 to 100.0). Volume 50 means that the audio volume is not modified and stays in its source value.



Returns:

Real


Triggers:

Social Async Event

Key Type Description
type String the string "eos_rtc_audio_update_receiving_volume"
status EOS_RESULT EOS_RESULT.SUCCESS if receiving volume of channels of the local user was successfully changed. EOS_RESULT.UNEXPECTED_ERROR otherwise.
status_message String Text representation of the status code
identifier Real The identifier returned by the original call to the function
room_name String The room this settings should be applied on
volume Real The volume that was set for received audio (range 0.0 to 100.0)



Back To Top

eos_rtc_audio_update_sending

Epic Online Services Function: EOS_RTCAudio_UpdateSending

You can use this function to tweak outgoing audio options for a room.

The function returns an async identifier.

Note

Due to Epic Online Services implementation details, this function requires that you first register to any notification for room.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_rtc_audio_update_sending(local_user_id, room_name, audio_status)
Argument Type Description
local_user_id String The Product User ID of the user trying to request this operation.
room_name String The room this settings should be applied on.
audio_status EOS_RTC_AUDIO_STATUS Muted or unmuted audio track status



Returns:

Real


Triggers:

Social Async Event

Key Type Description
type String the string "eos_rtc_audio_update_sending"
status EOS_RESULT EOS_RESULT.SUCCESS if sending of channels of the local user was successfully enabled/disabled. EOS_RESULT.UNEXPECTED_ERROR otherwise.
status_message String Text representation of the status code
identifier Real The identifier returned by the original call to the function
room_name String The room this setting was applied on
local_user_id String The Product User ID of the user who initiated this request
audio_status EOS_RTC_AUDIO_STATUS Muted or unmuted audio track status



Back To Top

eos_rtc_audio_update_sending_volume

Epic Online Services Function: EOS_RTCAudio_UpdateSendingVolume

You can use this function to change outgoing audio volume for a room.

The function returns an async identifier.

Note

Due to Epic Online Services implementation details, this function requires that you first register to any notification for room.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_rtc_audio_update_sending_volume(local_user_id, room_name, volume)
Argument Type Description
local_user_id String The Product User ID of the user trying to request this operation
room_name String The room this settings should be applied on
volume Real The volume to be set for sent audio (range 0.0 to 100.0). Volume 50 means that the audio volume is not modified and stays in its source value.



Returns:

Real


Triggers:

Social Async Event

Key Type Description
type String the string "eos_rtc_audio_update_sending_volume"
status EOS_RESULT EOS_RESULT.SUCCESS if sending volume of channels of the local user was successfully changed, EOS_RESULT.UNEXPECTED_ERROR otherwise
status_message String Text representation of the status code
identifier Real The identifier returned by the original call to the function
room_name String The room this settings should be applied on
volume Real The volume that was set for sent audio (range 0.0 to 100.0)



Back To Top

eos_rtc_data_add_notify_data_received

Epic Online Services Function: EOS_RTCData_AddNotifyDataReceived

This function registers to receive notifications with remote data packet received. If the returned notification ID is valid, you must call eos_rtc_data_remove_notify_data_received when you no longer wish to have the Social Async Event called.

The function returns an async identifier.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_rtc_data_add_notify_data_received(local_user_id, room_name)
Argument Type Description
local_user_id String The Product User ID of the user trying to request this operation
room_name String The room this event is registered on



Returns:

Int64


Triggers:

Social Async Event

Key Type Description
type String the string "eos_rtc_data_add_notify_data_received"
local_user_id String The Product User ID of the user who initiated this request
room_name String The room associated with this event
participant_id String The Product User ID of the participant that sent the data



Back To Top

eos_rtc_data_add_notify_participant_updated

Epic Online Services Function: EOS_RTCData_AddNotifyParticipantUpdated

This function registers to receive notifications when a room participant data status is updated (e.g. when connection state changes). The notification is raised when the participant's data status is updated. In order not to miss any participant status changes, applications need to add the notification before joining a room. If the returned notification ID is valid, you must call eos_rtc_data_remove_notify_participant_updated when you no longer wish to have the Social Async Event called.

The function returns an async identifier.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_rtc_data_add_notify_participant_updated(local_user_id, room_name)
Argument Type Description
local_user_id String The Product User ID of the user trying to request this operation
room_name String The room this event is registered on



Returns:

Int64


Triggers:

Social Async Event

Key Type Description
type String the string "eos_rtc_data_add_notify_participant_updated"
local_user_id String The Product User ID of the user who initiated this request
room_name String The room associated with this event
participant_id String The participant updated
data_status EOS_RTC_DATA_STATUS The data channel status



Back To Top

eos_rtc_data_remove_notify_data_received

Epic Online Services Function: EOS_RTCData_RemoveNotifyDataReceived

This function unregisters a previously bound notification handler from receiving remote data packets.


Syntax:

eos_rtc_data_remove_notify_data_received(notification_id)
Argument Type Description
notification_id Real The notification ID representing the registered callback



Returns:

N/A




Back To Top

eos_rtc_data_remove_notify_participant_updated

Epic Online Services Function: EOS_RTCData_RemoveNotifyParticipantUpdated

This function unregisters a previously bound notification handler from receiving participant updated notifications.


Syntax:

eos_rtc_data_remove_notify_participant_updated(notification_id)
Argument Type Description
notification_id Real The notification ID representing the registered callback



Returns:

N/A




Back To Top

eos_rtc_data_send_data

Epic Online Services Function: EOS_RTCData_SendData

You can use this function to send a data packet to the rest of participants.

The data to be sent needs to be stored in a Buffer, which you pass to the function. A total of length bytes are sent, from the start of the buffer.

The function returns one of the following:

  • EOS_RESULT.SUCCESS if the data packet was queued for sending
  • EOS_RESULT.INVALID_PARAMETERS if any of the options are invalid
  • EOS_RESULT.NOT_FOUND if the specified room was not found

Syntax:

eos_rtc_data_send_data(buff, length, local_user_id, room_name)
Argument Type Description
buff Buffer The buffer containing the data to send
length Real The number of bytes to send
local_user_id String The Product User ID of the user trying to request this operation
room_name String The room this event is registered on



Returns:

EOS_RESULT




Back To Top

eos_rtc_data_update_receiving

Epic Online Services Function: EOS_RTCData_UpdateReceiving

You can use this function to tweak incoming data options for a room.

The function returns an async identifier.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_rtc_data_update_receiving(local_user_id, participant_id, room_name, data_enabled)
Argument Type Description
local_user_id String The Product User ID of the user trying to request this operation
participant_id String The participant to modify or an empty string to update the global configuration
room_name String The room this setting should be applied on
data_enabled Boolean Creates or destroys data channel subscription



Returns:

Real


Triggers:

Social Async Event

Key Type Description
type String the string "eos_rtc_data_update_receiving"
status EOS_RESULT EOS_RESULT.SUCCESS if receiving of channels of remote users was successfully enabled/disabled, EOS_RESULT.NOT_FOUND if the participant isn't found by participant_id, EOS_RESULT.UNEXPECTED_ERROR otherwise
status_message String Text representation of the status code
identifier Real The identifier returned by the original call to the function
local_user_id String The Product User ID of the user who initiated this request
participant_id String The participant to modify or an empty string to update the global configuration
room_name String The room this settings should be applied on
data_enabled Real Created or destroyed data channel



Back To Top

eos_rtc_data_update_sending

Epic Online Services Function: EOS_RTCData_UpdateSending

You can use this function to tweak outgoing data options for a room.

The function returns an async identifier.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_rtc_data_update_sending(local_user_id, room_name, data_enabled)
Argument Type Description
local_user_id String The Product User ID of the user trying to request this operation
room_name String The room this setting should be applied on
data_enabled Real Creates or destroys data channel



Returns:

Real


Triggers:

Social Async Event

Key Type Description
type String the string "eos_rtc_data_update_sending"
status EOS_RESULT EOS_RESULT.SUCCESS if sending of channels of the local user was successfully enabled/disabled, EOS_RESULT.UNEXPECTED_ERROR otherwise
status_message String Text representation of the status code
identifier Real The identifier returned by the original call to the function
local_user_id String The Product User ID of the user who initiated this request
room_name String The room this settings should be applied on
data_enabled Real Created or destroyed data channel



Back To Top

EOS_RTC_PARTICIPANT_STATUS

Epic Online Services Enum: EOS_ERTCParticipantStatus

This enumeration holds the possible values for a participant's RTC status change.

These constants are referenced by the following functions:


Member Description
JOINED The participant joined the room
LEFT The participant left the room


Back To Top

EOS_RTC_BACKGROUND_MODE

Epic Online Services Enum: EOS_ERTCBackgroundMode

This enumeration holds the possible background modes supported by the RTC components.


Member Description
LEAVE_ROOMS Upon entering a background application status, all logged in users leave any RTC rooms. All subsequent attempts to join any RTC rooms will be rejected. Upon returning to a foreground application status, all subsequent attempts to join any RTC rooms will be allowed.
KEEP_ROOMS_ALIVE Application status has no effect on RTC rooms. Audio is captured from input devices and is played to output devices. Games should obtain consent from users and otherwise make users aware this is occurring.


Back To Top

EOS_RTC_AUDIO_STATUS

Epic Online Services Enum: EOS_ERTCAudioStatus

This enumeration holds the different possible audio channel statuses.

These constants are referenced by the following functions:


Member Description
UNSUPPORTED Audio unsupported by the source (no devices)
ENABLED Audio enabled
DISABLED Audio disabled
ADMIN_DISABLED Audio disabled by the administrator
NOT_LISTENING_DISABLED Audio channel is disabled temporarily for both sending and receiving


Back To Top

EOS_RTC_JOINROOMFLAGS

Epic Online Services Docs: EOS_RTC_JoinRoomOptions::Flags

This set of macros holds flags that can be used when joining a room (using the function eos_rtc_join_room).

These constants are referenced by the following functions:


Member Description
EOS_RTC_JOINROOMFLAGS_ENABLE_ECHO Enables echo mode. This can be used during development to have the server send your voice back to you so you don't need 2 clients to test if voice is being sent and received.
EOS_RTC_JOINROOMFLAGS_ENABLE_DATACHANNEL Enables the (optional) data channel feature for RTC rooms. This feature allows members of a room to send packets to all members of a room they are in, and automatically receive data packets sent by other players in that room. Data packets sent this way will be automatically relayed by EOS RTC servers to all other members of the room that are listening. It is not currently possible to send packets to only a subset of members of a room chosen by the sender, all members listening will receive the data.


Back To Top

EOS_RTC_AUDIO_INPUT_STATUS

Epic Online Services Enum: EOS_ERTCAudioInputStatus

This enumeration holds the different audio input device statuses.

These constants are referenced by the following functions:


Member Description
IDLE The device is not in use right now (e.g., you are alone in the room). In such cases, the hardware resources are not allocated.
RECORDING The device is being used and capturing audio.
RECORDING_SILENT The SDK is in a recording state, but actually capturing silence because the device is exclusively being used by the platform at the moment. This only applies to certain platforms.
RECORDING_DISCONNECTED The SDK is in a recording state, but actually capturing silence because the device is disconnected (e.g., the microphone is not plugged in). This only applies to certain platforms.
FAILED Something failed while trying to use the device.


Back To Top

EOS_RTC_AUDIO_OUTPUT_STATUS

Epic Online Services Enum: EOS_ERTCAudioOutputStatus

This enumeration holds the different audio output device statuses.

These constants are referenced by the following functions:


Member Description
IDLE The device is not in used right now (e.g.: you are alone in the room). In such cases, the hardware resources are not allocated.
PLAYING Device is in use
FAILED Something failed while trying to use the device


Back To Top

EOS_RTC_DATA_STATUS

Epic Online Services Enum: EOS_ERTCDataStatus

This enumeration holds the different data channel statuses.

These constants are referenced by the following functions:


Member Description
UNSUPPORTED Data unsupported
ENABLED Data enabled
DISABLED Data disabled


Back To Top

AudioInputDeviceInformation

Epic Online Services Struct: EOS_RTCAudio_InputDeviceInformation

This struct holds information about an audio input device.

This struct is referenced by the following functions:


Member Type Description
default_device Boolean True if this is the default audio input device in the system.
device_id String The persistent unique ID of the audio input device. The value can be cached - invalidated only when the audio device pool is changed.
device_name String The human-readable name of the audio input device


Back To Top

AudioOutputDeviceInformation

Epic Online Services Struct: EOS_RTCAudio_OutputDeviceInformation

This struct holds information about an audio output device.

This struct is referenced by the following functions:


Member Type Description
default_device Boolean True if this is the default audio output device in the system.
device_id String The persistent unique ID of the audio output device. The value can be cached - invalidated only when the audio device pool is changed.
device_name String The human-readable name of the audio output device

⚠️ **GitHub.com Fallback** ⚠️