Classes
The following classes are available globally.
-
Information about the stats of a audio device.
See moreDeclaration
Objective-C
@interface IVSAudioDeviceStats : NSObject
Swift
class IVSAudioDeviceStats : NSObject
-
A configuration object describing the desired format of the final output audio stream.
See moreDeclaration
Objective-C
@interface IVSAudioConfiguration : NSObject
Swift
class IVSAudioConfiguration : NSObject
-
A configuration object describing the desired format of the final output video stream
See moreDeclaration
Objective-C
@interface IVSVideoConfiguration : NSObject
Swift
class IVSVideoConfiguration : NSObject
-
A configuration object describing additional network parameters
See moreDeclaration
Objective-C
@interface IVSNetworkConfiguration : NSObject
Swift
class IVSNetworkConfiguration : NSObject
-
A configuration object describing a layer for composition on the final video output stream.
See moreDeclaration
Objective-C
@interface IVSMixerSlotConfiguration : NSObject
Swift
class IVSMixerSlotConfiguration : NSObject
-
A collection of
See moreIVSMixerSlotConfiguration
objects.Declaration
Objective-C
@interface IVSMixerConfiguration : NSObject
Swift
class IVSMixerConfiguration : NSObject
-
An object that can configure SDK auto-reconnect functionality.
See moreDeclaration
Objective-C
@interface IVSBroadcastAutoReconnectConfiguration : NSObject
Swift
class IVSBroadcastAutoReconnectConfiguration : NSObject
-
An object to broadcast, transform, and distribute audio video content. Changing any properties on this object after providing it to
See moreIVSBroadcastSession
will not have any effect. A copy of the configuration is made and kept internally. To make changes to the session live, use theIVSBroadcastSession.mixer
APIs, orIVSBroadcastSession.setLogLevel
.Declaration
Objective-C
@interface IVSBroadcastConfiguration : NSObject
Swift
class IVSBroadcastConfiguration : NSObject
-
BroadcastSession is the primary interaction point with the IVS Broadcast SDK. You must create a BroadcastSession in order to begin broadcasting.
Note
If there as a live broadcast when this object deallocates, internallystop
will be called during deallocation, and it will block until the stream has been gracefully terminated or a timeout is reached. Because of that it is recommended that you always explicitly stop a live broadcast before deallocating.Declaration
Objective-C
@interface IVSBroadcastSession : IVSSession
Swift
class IVSBroadcastSession : IVSSession
-
Information about the state of a network quality test.
See moreDeclaration
Objective-C
@interface IVSBroadcastSessionTestResult : NSObject
Swift
class IVSBroadcastSessionTestResult : NSObject
-
A handle on the network quality test. You can use this to cancel an ongoing test.
See moreDeclaration
Objective-C
@interface IVSBroadcastSessionTest : NSObject
Swift
class IVSBroadcastSessionTest : NSObject
-
A description of the capabilities of an AV device that is usable by the Broadcast SDK.
See moreDeclaration
Objective-C
@interface IVSDeviceDescriptor : NSObject
Swift
class IVSDeviceDescriptor : NSObject
-
The interaction point for discovering and creating devices for use with the Broadcast and Stage SDKs.
See moreDeclaration
Objective-C
@interface IVSDeviceDiscovery : NSObject
Swift
class IVSDeviceDiscovery : NSObject
-
A data class providing metadata about the frames going through an
See moreIVSImageDevice
.Declaration
Objective-C
@interface IVSImageDeviceFrame : NSObject
Swift
class IVSImageDeviceFrame : NSObject
-
A view that will auto update its contents with a live preview of either an
See moreIVSImageDevice
, or the composited output image of the broadcast session.Declaration
Objective-C
@interface IVSImagePreviewView : UIView
Swift
class IVSImagePreviewView : UIView
-
A quality stats class that represents local audio
See moreDeclaration
Objective-C
@interface IVSLocalAudioStats : NSObject
Swift
class IVSLocalAudioStats : NSObject
-
Declaration
Objective-C
@interface IVSLocalStageStream : IVSStageStream
Swift
class IVSLocalStageStream : IVSStageStream
-
A configuration object describing the desired format of the published audio track associated the
See moreIVSStageStream
.Declaration
Objective-C
@interface IVSLocalStageStreamAudioConfiguration : NSObject
Swift
class IVSLocalStageStreamAudioConfiguration : NSObject
-
An object that describes the media configuration for the
See moreIVSStageStream
.Declaration
Objective-C
@interface IVSLocalStageStreamConfiguration : NSObject
Swift
class IVSLocalStageStreamConfiguration : NSObject
-
A configuration object describing simulcast configuration
See moreDeclaration
Objective-C
@interface IVSSimulcastConfiguration : NSObject
Swift
class IVSSimulcastConfiguration : NSObject
-
A configuration object describing the desired format of the published video track associated the
See moreIVSStageStream
.Declaration
Objective-C
@interface IVSLocalStageStreamVideoConfiguration : NSObject
Swift
class IVSLocalStageStreamVideoConfiguration : NSObject
-
A quality stats class that represents local video
See moreDeclaration
Objective-C
@interface IVSLocalVideoStats : NSObject
Swift
class IVSLocalVideoStats : NSObject
-
The mixer determines the final on-screen and in-ear state for visual elements and audio.
An element is represented by an
IVSMixerSlotConfiguration
that has a number of associated parameters to place an image stream spatially and set the gain of an audio stream from a device.Each slot can be bound to a single image device (such as a camera) and a single audio device (such as a microphone).
See moreDeclaration
Objective-C
@interface IVSMixer : NSObject
Swift
class IVSMixer : NSObject
-
Information about a participant. The properties in this class will remain constant throughout its lifetime, with the exception of
See moreuserInfo
.Declaration
Objective-C
@interface IVSParticipantInfo : NSObject
Swift
class IVSParticipantInfo : NSObject
-
Standard configurations for
See moreIVSBroadcastConfiguration
objects.Declaration
Objective-C
@interface IVSConfigurationPresets : NSObject
Swift
class IVSConfigurationPresets : NSObject
-
Combinations for commonly accessed
See moreIVSDeviceDescriptor
objects.Declaration
Objective-C
@interface IVSDevicePresets : NSObject
Swift
class IVSDevicePresets : NSObject
-
A collection of predefined configurations and input device sets.
See moreDeclaration
Objective-C
@interface IVSPresets : NSObject
Swift
class IVSPresets : NSObject
-
A quality stats class that represents remote audio
See moreDeclaration
Objective-C
@interface IVSRemoteAudioStats : NSObject
Swift
class IVSRemoteAudioStats : NSObject
-
A quality stats class that represents remote video
See moreDeclaration
Objective-C
@interface IVSRemoteVideoStats : NSObject
Swift
class IVSRemoteVideoStats : NSObject
-
This is a streamlined version of an
IVSBroadcastSession
to be used in a Broadcast Upload Extension. The extensions are under strict memory constraints, and this class removes some of the SDK features in exchange for a reduction in memory footprint.For example, there are no attach or detach APIs. There are 3 devices created for you, corresponding to the screen, app audio, and the microphone. Pass CMSampleBuffers to these devices from your
RPBroadcastSampleHandler
implementation. In addition, there is no mixer configuration and no access to anIVSMixer
. This class does not support multiple image layers, and the primary layer (the device screen) is always sized to the full output stream scaled to fit. Transparency is also disabled regardless of what is provided in the video configuration.Finally, you can not create a preview for the
systemImageSource
or the session as a whole, they will not render anything.Note
this will automatically setIVSBroadcastSession.applicationAudioSessionStrategy
tonoAction
.Declaration
Objective-C
@interface IVSReplayKitBroadcastSession : NSObject
Swift
class IVSReplayKitBroadcastSession : NSObject
-
The base of both Broadcast and Stage Sessions, providing common APIs for working with devices and getting a preview for the composited session.
See moreDeclaration
Objective-C
@interface IVSSession : NSObject
Swift
class IVSSession : NSObject
-
The main interaction point for interacting with the Stage SDK.
See moreDeclaration
Objective-C
@interface IVSStage : NSObject <IVSErrorSource>
Swift
class IVSStage : NSObject, IVSErrorSource
-
Use this class to manage the
AVAudioSession
instance used by the SDK while in a stage.Note
Calling any of these APIs can change the available microphones and output devices at runtime, and will reset the selected input source on an IVSMicrophone instance, falling back to the default device. It is recommended to setup the audio manager before creating anIVSStage
. If you need to call these APIs while anIVSStage
is active, make sure to validate the devices you expect to be used can still be used by the system.Declaration
Objective-C
@interface IVSStageAudioManager : NSObject <IVSErrorSource>
Swift
class IVSStageAudioManager : NSObject, IVSErrorSource
-
IVSTransmissionStatistics contains statistics on the broadcast’s current measured bitrate, recommended bitrate by the SDK’s adaptive bitrate algorithm, average round trip time, broadcast quality (relative to configured minimum and maximum bitrates), and network health.
Expect this callback to be triggered on
See moreIVSBroadcastSession.delegate
quite frequently (approximately twice per second) as the measured and recommended bitrates change. Measured versus recommended bitrate behavior can vary significantly between platforms. The documentation on each metric provides instructions on how to interpret these values.Declaration
Objective-C
@interface IVSTransmissionStatistics : NSObject
Swift
class IVSTransmissionStatistics : NSObject