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 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 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 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 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 stage stream that is used to publish local IVSDevices.

    See more

    Declaration

    Objective-C

    
    @interface IVSLocalStageStream : IVSStageStream

    Swift

    class IVSLocalStageStream : IVSStageStream
  • A collection of IVSStageConfiguration objects.

    See more

    Declaration

    Objective-C

    
    @interface IVSLocalStageStreamVideoConfiguration : NSObject

    Swift

    class IVSLocalStageStreamVideoConfiguration : 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
  • 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
  • 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