Agora RTC Objective-C API Reference Refactor

Data Fields
AgoraServiceConfiguration Struct Reference

## Data Fields
bool | enableAudioProcessor
bool | enableAudioDevice
bool | enableVideo
void * | context
const char * | appId
unsigned int | areaCode
agora::CHANNEL_PROFILE_TYPE | channelProfile
const char * | license
rtc::AUDIO_SCENARIO_TYPE | audioScenario
commons::LogConfig | logConfig
bool | useStringUid
IServiceObserver * | serviceObserver
Optional< rtc::THREAD_PRIORITY_TYPE > | threadPriority
bool | useExternalEglContext
bool | domainLimit

## Detailed Description

The global configurations for AgoraService.

Set these configurations when calling initialize.

## Constructor & Destructor Documentation

## ◆ AgoraServiceConfiguration()

AgoraServiceConfiguration | ( |  | ) |
| inline

## Field Documentation

## ◆ enableAudioProcessor

bool enableAudioProcessor

Whether to enable the audio processing module.

- `true`: (Default) Enable the audio processing module.
- `false`: Disable the audio processing module. If you disable the audio processing module, you cannot create audio tracks.

## ◆ enableAudioDevice

bool enableAudioDevice

Whether to enable the audio device module. The function of the audio device module is to manage audio devices, such as recording and playing audio.

- `true`: (Default) Enable the audio device module. Audio recording and playback is available.
- `false`: Disable the audio device module. Audio recording and playback is unavailable.

Note
  If you set `enableAudioDevice` as `false` and set `enableAudioProcessor` as `true`, you cannot use audio devices, but you can push PCM audio data.

## ◆ enableVideo

bool enableVideo

Whether to enable video.

- `true`: Enable video.
- `false`: (Default) Disable video.

## ◆ context

void* context

The user context.

- For Windows, it is the handle of the window that loads the video. Specify this value to support plugging or unplugging the video devices while the host is powered on.
- For Android, it is the context of activity.

## ◆ appId

const char* appId

The App ID of your project.

## ◆ areaCode

unsigned int areaCode

The supported area code, default is AREA_CODE_GLOB

## ◆ channelProfile

agora::CHANNEL_PROFILE_TYPE channelProfile

The channel profile. For details, see CHANNEL_PROFILE_TYPE. The default channel profile is `CHANNEL_PROFILE_LIVE_BROADCASTING`.

## ◆ license

const char* license

The license used for verification when connectting channel. Charge according to the license

## ◆ audioScenario

rtc::AUDIO_SCENARIO_TYPE audioScenario

The audio scenario. See AUDIO_SCENARIO_TYPE. The default value is `AUDIO_SCENARIO_DEFAULT`.

## ◆ logConfig

commons::LogConfig logConfig

The config for custumer set log path, log size and log level.

## ◆ useStringUid

bool useStringUid

Whether to enable string uid.

## ◆ serviceObserver

IServiceObserver* serviceObserver

The service observer.

## ◆ threadPriority

Optional<rtc::THREAD_PRIORITY_TYPE> threadPriority

Thread priority for SDK common threads

## ◆ useExternalEglContext

bool useExternalEglContext

Whether use egl context in current thread as sdk‘s root egl context which shared by all egl related modules. eg. camera capture, video renderer.

Note
  This property applies to Android only.

## ◆ domainLimit

bool domainLimit

Determines whether to enable domain limit.

- `true`: only connect to servers that already parsed by DNS
- `false`: (Default) connect to servers with no limit