IVSBroadcastError
Objective-C
enum IVSBroadcastError : NSInteger {}
Swift
enum IVSBroadcastError : Int
Known errors that can be returned by various APIs in the Broadcast SDK
-
This happens when you use the exchange devices API but the devices are of a different type, for example a microphone and a camera. Both devices must be of the same type.
Declaration
Objective-C
IVSBroadcastErrorDeviceExchangeIncompatibleTypes = 10100Swift
case deviceExchangeIncompatibleTypes = 10100 -
This happens when trying to attach a device but the device is not found. This could happen if you query all the devices and store them in an array, a device goes offline or is unplugged, and then you attempt to connect to that device.
Declaration
Objective-C
IVSBroadcastErrorDeviceNotFound = 10101Swift
case deviceNotFound = 10101 -
This happens when a device you are trying to add could not be added to as an input source.
Declaration
Objective-C
IVSBroadcastErrorDeviceAttachDeviceCouldNotAddAsInput = 10102Swift
case deviceAttachDeviceCouldNotAddAsInput = 10102 -
This happens when a new output stream for the attaching device could not be added to the AVCaptureSession.
Declaration
Objective-C
IVSBroadcastErrorDeviceAttachDeviceCouldNotAddOutputStream = 10103Swift
case deviceAttachDeviceCouldNotAddOutputStream = 10103 -
At the moment, only a single input source of each type is allowed. In the future multiple cameras may be allowed, but a single microphone will likely be a requirement for the foreseeable future.
Declaration
Objective-C
IVSBroadcastErrorDeviceTypeAlreadyAttached = 10104Swift
case deviceTypeAlreadyAttached = 10104 -
The device being attached was unable to pair to a
IVSMixerSlotConfiguration. Make sure yourIVSBroadcastConfigurationhas a slot with a matching preferred input device type.Declaration
Objective-C
IVSBroadcastErrorDeviceFoundNoMatchingSlot = 10105Swift
case deviceFoundNoMatchingSlot = 10105 -
The device that was submitted to attach to the
IVSBroadcastSessionis not supported.Declaration
Objective-C
IVSBroadcastErrorUnsupportedDeviceType = 10106Swift
case unsupportedDeviceType = 10106 -
When multiple external audio inputs are plugged in, only the most recently connected device can be attached to the broadcast session. The built-in microphone can always be attached.
Declaration
Objective-C
IVSBroadcastErrorTooManyExternalAudioInputs = 10107Swift
case tooManyExternalAudioInputs = 10107 -
The attaching camera does not support any of the pixel formats that the broadcast SDK supports.
Declaration
Objective-C
IVSBroadcastErrorNoSupportedPixelFormats = 10108Swift
case noSupportedPixelFormats = 10108 -
Thrown when the exchange device API is called and the device being swapped out is not currently attached.
Declaration
Objective-C
IVSBroadcastErrorExchangeDeviceOldDeviceNotAttached = 10109Swift
case exchangeDeviceOldDeviceNotAttached = 10109 -
The audio bitrate set on the IVSBroadcastConfiguration must be between 64k and 160k. This error is thrown when the audio bitrate is set to a value outside this range.
Declaration
Objective-C
IVSBroadcastErrorConfigurationInvalidAudioBitrate = 10200Swift
case configurationInvalidAudioBitrate = 10200 -
The audio channels set on the IVSBroadcastConfiguration must be equal to 1 or 2.
Declaration
Objective-C
IVSBroadcastErrorConfigurationInvalidAudioChannels = 10201Swift
case configurationInvalidAudioChannels = 10201 -
The video initial bitrate set on the IVSBroadcastConfiguration must be between 100k and 8,500k. This error is thrown when the video initial bitrate is set to a value outside this range.
Declaration
Objective-C
IVSBroadcastErrorConfigurationInvalidVideoInitialBitrate = 10202Swift
case configurationInvalidVideoInitialBitrate = 10202 -
The video maximum bitrate set on the IVSBroadcastConfiguration must be between 100k and 8,500k. This error is thrown when the video maximum bitrate is set to a value outside this range.
Declaration
Objective-C
IVSBroadcastErrorConfigurationInvalidVideoMaxBitrate = 10203Swift
case configurationInvalidVideoMaxBitrate = 10203 -
The video minimum bitrate set on the IVSBroadcastConfiguration must be between 100k and 8,500k. This error is thrown when the video minimum bitrate is set to a value outside this range.
Declaration
Objective-C
IVSBroadcastErrorConfigurationInvalidVideoMinBitrate = 10204Swift
case configurationInvalidVideoMinBitrate = 10204 -
The video target framerate set on the IVSBroadcastConfiguration must be between 10 and 60. This error is thrown when the video target framerate is set to a value outside this range.
Declaration
Objective-C
IVSBroadcastErrorConfigurationInvalidVideoTargetFramerate = 10205Swift
case configurationInvalidVideoTargetFramerate = 10205 -
The video keyframe interval set on the IVSBroadcastConfiguration must be between 1 and 10. This error is thrown when the video keyframe interval is set to a value outside this range.
Declaration
Objective-C
IVSBroadcastErrorConfigurationInvalidVideoKeyframeInterval = 10206Swift
case configurationInvalidVideoKeyframeInterval = 10206 -
The video size set on the IVSBroadcastConfiguration must have a width and height of greater than 160, less than 1080, and the total number of pixels must be less than 2,073,600. For example, the smallest possible size is 160x160, and the biggest possible size is either 1080x1920 or 1920x1080.. This error is thrown when the video size does not meet the specified criteria.
Declaration
Objective-C
IVSBroadcastErrorConfigurationInvalidVideoSize = 10207Swift
case configurationInvalidVideoSize = 10207 -
The mixer slot name set on the IVSBroadcastConfiguration must be between 1 and 50 characetrs in length. This error is thrown when the name is shorter or longer than the requirements.
Declaration
Objective-C
IVSBroadcastErrorConfigurationInvalidMixerSlotName = 10208Swift
case configurationInvalidMixerSlotName = 10208 -
The mixer slot gain set on the IVSBroadcastConfiguration must be between 0 and 2. This error is thrown when the gain is set to a value outside this range.
Declaration
Objective-C
IVSBroadcastErrorConfigurationInvalidMixerSlotGain = 10209Swift
case configurationInvalidMixerSlotGain = 10209 -
The mixer slot transparency set on the IVSBroadcastConfiguration must be between 0 and 1. This error is thrown when the transparency is set to a value outside this range.
Declaration
Objective-C
IVSBroadcastErrorConfigurationInvalidMixerSlotTransparency = 10210Swift
case configurationInvalidMixerSlotTransparency = 10210 -
There are multiple
IVSMixerSlotConfigurationobjects with the samename. All names must be unique.Declaration
Objective-C
IVSBroadcastErrorConfigurationDuplicateMixerNames = 10211Swift
case configurationDuplicateMixerNames = 10211 -
When creating the preview view for a surface, there was an error obtaining the metal default library. The property “sourceError” will include the originating error.
Declaration
Objective-C
IVSBroadcastErrorPreviewMetalLibraryInvalid = 10300Swift
case previewMetalLibraryInvalid = 10300 -
When creating the preview view for a surface, there was an error generating the metal render pipeline state The property “sourceError” will include the originating error.
Declaration
Objective-C
IVSBroadcastErrorPreviewMetalStateDescriptorInvalid = 10301Swift
case previewMetalStateDescriptorInvalid = 10301 -
The device you’re using this on does not support Metal. Metal is a requirement for using the IVS Broadcast SDK.
Declaration
Objective-C
IVSBroadcastErrorMetalNotSupported = 10302Swift
case metalNotSupported = 10302 -
This is thrown when the
IVSBroadcastSession‘sisReadyproperty is set toNOand a method is called on the session anyway.Declaration
Objective-C
IVSBroadcastErrorSessionIsNotReady = 10400Swift
case sessionIsNotReady = 10400 -
This is thrown when an
IVSCustomImageSourceis used and an unsupported pixel format is provided. The currently supported pixel formats are:kCVPixelFormatType_32BGRAkCVPixelFormatType_420YpCbCr8BiPlanarFullRangekCVPixelFormatType_420YpCbCr8BiPlanarVideoRangeOn devices that support it, theLosslessandLossyequivalents of these formats are also supported.Declaration
Objective-C
IVSBroadcastErrorInvalidVideoFormat = 10401Swift
case invalidVideoFormat = 10401 -
This is thrown when an image submitted via
onSampleBufferexceeds 32400 KB (32 bpp at 3840×2160). If you have images in resolutions greater than 4k, please convert them to format such askCVPixelFormatType_420YpCbCr8BiPlanarVideoRangeto reduce the total size of the image below the threshold.Declaration
Objective-C
IVSBroadcastErrorImageTooLarge = 10402Swift
case imageTooLarge = 10402 -
This is thrown when PCM data is submitted via
onPCMBufferoronSampleBufferand the total size of the data is greater than 5.5 MB. If you run into this while submitting valid data, break up your sample into multiple smaller samples. This error will only be emitted once per audio source.Declaration
Objective-C
IVSBroadcastErrorPCMDataTooLong = 10403Swift
case pcmDataTooLong = 10403 -
This is thrown when
IVSBroadcastSession.applicationAudioSessionStrategyis set tonoActionand an attempt to attach a microphone to the SDK is attempted. Microphones can still be used with the noAction strategy, but they must be managed by the host application and have their samples provided via anIVSCustomAudioSource.Declaration
Objective-C
IVSBroadcastErrorInvalidAudioSessionStrategy = 10404Swift
case invalidAudioSessionStrategy = 10404 -
This is thrown when the broadcast session is stopped due to a loss in network connectivity. You can monitor your device’s connection and start the stream again when connectivity is restored.
Declaration
Objective-C
IVSBroadcastErrorNetworkConnectivityLost = 10405Swift
case networkConnectivityLost = 10405 -
This API must only be called while the application is in the foreground.
Declaration
Objective-C
IVSBroadcastErrorForegroundOnly = 10406Swift
case foregroundOnly = 10406 -
An app background video source already exists. You must call
removeImageSourceOnAppBackgroundedbefore using this API again.Declaration
Objective-C
IVSBroadcastErrorBackgroundVideoSourceAlreadyExists = 10407Swift
case backgroundVideoSourceAlreadyExists = 10407 -
The background video source is currently live. If your app responds to
UIApplicationWillEnterForegroundNotification, it is possible your app will receive that notification before the broadcast SDK does. Dispatching a block to the main queue will allow the SDK to receive that notification, then theremoveImageSourceOnAppBackgroundedwill be safe to call.Declaration
Objective-C
IVSBroadcastErrorBackgroundVideoSourceIsLive = 10408Swift
case backgroundVideoSourceIsLive = 10408 -
The background video source is currently live because the attached camera is waiting to receive the
AVCaptureSessionInterruptionEndedNotificationnotification to be fired. This is fired some time after the app returns to the foreground. Waiting for that notification and dispatching a block to the main queue that calls this API again will resolve this error if the source of the error is the attached camera. An alternative workaround would be to detach and reattach the camera.Declaration
Objective-C
IVSBroadcastErrorBackgroundVideoSourceIsWaitingForCamera = 10409Swift
case backgroundVideoSourceIsWaitingForCamera = 10409 -
This is thrown when the SDK’s internal state is invalid.
Declaration
Objective-C
IVSBroadcastErrorInvalidState = 10410Swift
case invalidState = 10410 -
This is thrown when PCM data is submitted via
onPCMBufferwith multiple AudioBuffer structs attached and one of the following is false All AudioBuffers have the same data length. The channels are non-interleaved (planar). The number of channels reported by the format is the same as the number of AudioBuffer structs. All of the AudioBuffers are single channel (together they can create multiple channels, but each individually must be single channel). There are only 2 AudioBuffer structs (if there are more than 2, all channels after 2 will be droppped). When this error is emitted, only a single audio channel will be processed, unless the error is too many channels, at which point 2 channels will be processed. This error will only be emitted once per audio source.Declaration
Objective-C
IVSBroadcastErrorPCMUnsupportedSample = 10411Swift
case pcmUnsupportedSample = 10411
IVSBroadcastError Enumeration Reference