Classes

The following classes are available globally.

  • 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
  • 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 IVSBroadcastMixer : NSObject

    Swift

    class IVSBroadcastMixer : 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 reeached. Because of that it is recommended that you always explicitly stop a live broadcast before deallocating.
    See more

    Declaration

    Objective-C

    
    @interface IVSBroadcastSession : NSObject

    Swift

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

    Swift

    class IVSImagePreviewView : MTKView
  • 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 IVSBroadcastMixer. 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