Classes

The following classes are available globally.

  • Information about the stats of a audio device.

    See more

    Declaration

    Objective-C

    
    @interface IVSAudioDeviceStats : NSObject

    Swift

    class IVSAudioDeviceStats : NSObject
  • A configuration object describing the desired format of the final output audio stream.

    See more

    Declaration

    Objective-C

    
    @interface IVSAudioConfiguration : NSObject

    Swift

    class IVSAudioConfiguration : NSObject
  • A configuration object describing the desired format of the final output video stream

    See more

    Declaration

    Objective-C

    
    @interface IVSVideoConfiguration : NSObject

    Swift

    class IVSVideoConfiguration : NSObject
  • A configuration object describing additional network parameters

    See more

    Declaration

    Objective-C

    
    @interface IVSNetworkConfiguration : NSObject

    Swift

    class IVSNetworkConfiguration : NSObject
  • A configuration object describing a layer for composition on the final video output stream.

    See more

    Declaration

    Objective-C

    
    @interface IVSMixerSlotConfiguration : NSObject

    Swift

    class IVSMixerSlotConfiguration : NSObject
  • A collection of IVSMixerSlotConfiguration objects.

    See more

    Declaration

    Objective-C

    
    @interface IVSMixerConfiguration : NSObject

    Swift

    class IVSMixerConfiguration : NSObject
  • An object that can configure SDK auto-reconnect functionality.

    See more

    Declaration

    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 IVSBroadcastSession will not have any effect. A copy of the configuration is made and kept internally. To make changes to the session live, use the IVSBroadcastSession.mixer APIs, or IVSBroadcastSession.setLogLevel.

    See more

    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, internally stop 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.
    See more

    Declaration

    Objective-C

    
    @interface IVSBroadcastSession : IVSSession

    Swift

    class IVSBroadcastSession : IVSSession
  • Information about the state of a network quality test.

    See more

    Declaration

    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 more

    Declaration

    Objective-C

    
    @interface IVSBroadcastSessionTest : NSObject

    Swift

    class IVSBroadcastSessionTest : NSObject
  • A class representing the current configuration for an IVSCameraSource object.

    See more

    Declaration

    Objective-C

    
    @interface IVSCameraFormat : NSObject

    Swift

    class IVSCameraFormat : NSObject
  • A description of the capabilities of an AV device that is usable by the Broadcast SDK.

    See more

    Declaration

    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 more

    Declaration

    Objective-C

    
    @interface IVSDeviceDiscovery : NSObject

    Swift

    class IVSDeviceDiscovery : NSObject
  • A data class providing metadata about the frames going through an IVSImageDevice.

    See more

    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 IVSImageDevice, or the composited output image of the broadcast session.

    See more

    Declaration

    Objective-C

    
    @interface IVSImagePreviewView : UIView

    Swift

    class IVSImagePreviewView : UIView
  • A quality stats class that represents local audio

    See more

    Declaration

    Objective-C

    
    @interface IVSLocalAudioStats : NSObject

    Swift

    class IVSLocalAudioStats : NSObject
  • A stage stream that is used to publish local IVSDevices.

    See more

    Declaration

    Objective-C

    
    @interface IVSLocalStageStream : IVSStageStream

    Swift

    class IVSLocalStageStream : IVSStageStream
  • A configuration object describing the desired format of the published audio track associated the IVSStageStream.

    See more

    Declaration

    Objective-C

    
    @interface IVSLocalStageStreamAudioConfiguration : NSObject

    Swift

    class IVSLocalStageStreamAudioConfiguration : NSObject
  • An object that describes the media configuration for the IVSStageStream.

    See more

    Declaration

    Objective-C

    
    @interface IVSLocalStageStreamConfiguration : NSObject

    Swift

    class IVSLocalStageStreamConfiguration : NSObject
  • A configuration object describing simulcast configuration

    See more

    Declaration

    Objective-C

    
    @interface IVSSimulcastConfiguration : NSObject

    Swift

    class IVSSimulcastConfiguration : NSObject
  • A configuration object describing the desired format of the published video track associated the IVSStageStream.

    See more

    Declaration

    Objective-C

    
    @interface IVSLocalStageStreamVideoConfiguration : NSObject

    Swift

    class IVSLocalStageStreamVideoConfiguration : NSObject
  • A quality stats class that represents local video

    See more

    Declaration

    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 more

    Declaration

    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 userInfo.

    See more

    Declaration

    Objective-C

    
    @interface IVSParticipantInfo : NSObject

    Swift

    class IVSParticipantInfo : NSObject
  • Standard configurations for IVSBroadcastConfiguration objects.

    See more

    Declaration

    Objective-C

    
    @interface IVSConfigurationPresets : NSObject

    Swift

    class IVSConfigurationPresets : NSObject
  • Combinations for commonly accessed IVSDeviceDescriptor objects.

    See more

    Declaration

    Objective-C

    
    @interface IVSDevicePresets : NSObject

    Swift

    class IVSDevicePresets : NSObject
  • A collection of predefined configurations and input device sets.

    See more

    Declaration

    Objective-C

    
    @interface IVSPresets : NSObject

    Swift

    class IVSPresets : NSObject
  • A quality stats class that represents remote audio

    See more

    Declaration

    Objective-C

    
    @interface IVSRemoteAudioStats : NSObject

    Swift

    class IVSRemoteAudioStats : NSObject
  • A quality stats class that represents remote video

    See more

    Declaration

    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 an IVSMixer. 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 set IVSBroadcastSession.applicationAudioSessionStrategy to noAction.
    See more

    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 more

    Declaration

    Objective-C

    
    @interface IVSSession : NSObject

    Swift

    class IVSSession : NSObject
  • The main interaction point for interacting with the Stage SDK.

    See more

    Declaration

    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 an IVSStage. If you need to call these APIs while an IVSStage is active, make sure to validate the devices you expect to be used can still be used by the system.
    See more

    Declaration

    Objective-C

    
    @interface IVSStageAudioManager : NSObject <IVSErrorSource>

    Swift

    class IVSStageAudioManager : NSObject, IVSErrorSource
  • A media stream that contains a single IVSDevice and a single type of media data (audio or video).

    See more

    Declaration

    Objective-C

    
    @interface IVSStageStream : NSObject

    Swift

    class IVSStageStream : NSObject
  • 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 IVSBroadcastSession.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.

    See more

    Declaration

    Objective-C

    
    @interface IVSTransmissionStatistics : NSObject

    Swift

    class IVSTransmissionStatistics : NSObject