OTPublisherKitSettings
Defines settings to be used when initializing a publisher using the [OTPublisherKit initWithDelegate:settings:] method.
Properties
name
Type: NSString *
The name of the publisher video. The [OTStream name] property for a stream published by this publisher will be set to this value (on all clients). The default value is nil.
audioTrack
Type: BOOL
Whether to publish audio (YES, the default) or not (NO).
If this property is set to NO, the audio subsystem will not be initialized for the publisher, and setting the [OTPublisherKit publishAudio] property will have no effect. If your application does not require the use of audio, it is recommended to set this Builder property rather than use the [OTPublisherKit publishAudio] property, which only temporarily disables the audio track.
videoTrack
Type: BOOL
Whether to publish video (YES, the default) or not (NO).
If this property is set to NO, the video subsystem will not be initialized for the publisher, and setting the [OTPublisherKit publishVideo] property will have no effect. If your application does not require the use of video, it is recommended to set this Builder property rather than use the [OTPublisherKit publishVideo] property, which only temporarily disables the video track.
senderStatsTrack
Type: BOOL
Whether to publish sender statistics (YES) or not (NO, the default).
If this property is set to NO, the sender statistics subsystem will not be initialized for the publisher.
audioBitrate
Type: int
The desired bitrate for the published audio, in bits per second. The supported range of values is 6,000 - 510,000. (Invalid values are ignored.) Set this value to enable high-quality audio (or to reduce bandwidth usage with lower-quality audio).
The following are recommended settings:
- 8,000 - 12,000 for narrowband (NB) speech
- 16,000 - 20,000 for wideband (WB) speech
- 28,000 - 40,000 for full-band (FB) speech
- 48,000 - 64,000 for full-band (FB) mono music
- 64,000 - 128,000 for full-band (FB) stereo music
The default value is 40,000.
To set other audio settings, see the OTAudioDeviceManager interface.
enableOpusDtx
Type: BOOL
Whether to enable Opus DTX (YES) or not (NO, the default). Enabling Opus DTX can reduce bandwidth usage in streams that have long periods of silence.
scalableScreenshare
Type: BOOL
Whether to allow use of scalable video for a publisher that has the videoType set to OTStreamVideoTypeScreen (YES) or not (NO, the default).
subscriberAudioFallbackEnabled
Type: BOOL
Whether the stream will use the subscriber audio-fallback feature (YES) or not (NO), for subscribers to the published stream. The subscriber audio-fallback feature is available in sessions that use the the OpenTok Media Router. With the subscriber audio-fallback feature enabled, when the OpenTok Media Router determines that a stream's quality has degraded significantly for a specific subscriber, it disables the video in that subscriber in order to preserve call quality.
The default setting is YES (the audio-fallback feature is enabled) for publishers using the camera. When using the screen video type in a session that uses the OpenTok Media Server, the subscriber audio-fallback property is set to NO by default, so that the video does not drop out in subscribers.
For more information, see [OTPublisherKit videoType], [OTSubscriberKitDelegate subscriberVideoDisabled:reason:], OTSubscriberVideoEventReason, the OpenTok Media Router.
publisherAudioFallbackEnabled
Type: BOOL
Whether the stream will use the publisher audio-fallback feature (YES) or not (NO). With the publisher audio-fallback feature enabled, when the Publisher determines that a stream's quality has degraded significantly, it disables the video in in order to preserve call quality.
The default setting is NO (the audio-fallback feature is disabled).
For more information, see [OTPublisherKit videoType], [OTPublisherKitDelegate publisherVideoDisabled:reason:], OTPublisherVideoEventReason, the OpenTok Media Router.
allowAudioCaptureWhileMuted
Type: BOOL
If set to NO, the microphone will be automatically switched off when all publishers have muted their audio. Microphone will be automatically switched on again when at least one publisher unmutes their audio. If set to YES, mic will always remain switched on even when all publishers have muted their audio. Be aware that when the microphone is switched off, callbacks like AudioLevel or AudioData will no longer be invoked for the publishers. The default value is NO.
videoCodecPreference
Type: OTVideoCodecPreference *
Defines the preferred video codec(s) for publishing.
Use this property to control which video codecs are prioritized during negotiation. If not set, the SDK uses the project’s default codec preference. Assign an instance of OTVideoCodecPreference to specify whether codec selection should be automatic or to provide an explicit, ordered list of codecs.
- Set to
[OTVideoCodecPreference automatic]to allow the SDK to select the most suitable codec. - Set to
[OTVideoCodecPreference manualWithCodecs:...]to explicitly specify a preferred order of codec negotiation. Supported codecs:OTVideoCodecTypeVP8,OTVideoCodecTypeH264,OTVideoCodecTypeVP9.
If an invalid codec list is provided (e.g., empty array or unknown codec value), publisher initialization will fail.
For details on codec selection and valid values, see OTVideoCodecPreference.