IVSDeviceDescriptor

Objective-C


@interface IVSDeviceDescriptor : NSObject

Swift

class IVSDeviceDescriptor : NSObject

A description of the capabilities of an AV device that is usable by the Broadcast SDK.

  • Unavailable

    Do not create instances of this class directly

    Declaration

    Objective-C

    IVS_INIT_UNAVAILABLE
  • Unavailable

    Do not create instances of this class directly

    Declaration

    Objective-C

    IVS_INIT_UNAVAILABLE
  • System deviceId. These may not be unique as the system may reuse device ids for different types.

    Declaration

    Objective-C

    @property (nonatomic, strong, readonly) NSString *_Nonnull deviceId;

    Swift

    var deviceId: String { get }
  • urn

    Unique device locator. this will be unique but it may be generated internally and may not match system addresses.

    Declaration

    Objective-C

    @property (nonatomic, strong, readonly) NSString *_Nonnull urn;

    Swift

    var urn: String { get }
  • A human-readable name.

    Declaration

    Objective-C

    @property (nonatomic, strong, readonly) NSString *_Nonnull friendlyName;

    Swift

    var friendlyName: String { get }
  • The device type or family.

    Declaration

    Objective-C

    @property (nonatomic, readonly) IVSDeviceType type;

    Swift

    var type: IVSDeviceType { get }
  • The types of streams supported by the device. The NSNumber values will be IVSDeviceStreamType.

    Declaration

    Objective-C

    @property (nonatomic, strong, readonly) NSArray<NSNumber *> *_Nonnull streams;

    Swift

    var streams: [NSNumber] { get }
  • The physical location of the device, if it can be determined.

    Declaration

    Objective-C

    @property (nonatomic, readonly) IVSDevicePosition position;

    Swift

    var position: IVSDevicePosition { get }
  • If the device contains an image stream, the size of the images to be produced.

    Declaration

    Objective-C

    @property (nonatomic, readonly) CGSize imageSize;

    Swift

    var imageSize: CGSize { get }
  • Camera rotation.

    Declaration

    Objective-C

    @property (nonatomic, readonly) float rotation;

    Swift

    var rotation: Float { get }
  • Microphone sample rate.

    @discussion

    This will reflect the current sample rate provided by AVAudioSession at the time the device was queried. It is not guaranteed that this number of be accurate, as it will not react to changes made to AVAudioSession after it was queried.

    Declaration

    Objective-C

    @property (nonatomic, readonly) NSInteger sampleRate;

    Swift

    var sampleRate: Int { get }
  • Microphone channel count.

    Note

    This will reflect the current channel count provided by AVAudioSession at the time the device was queried. It is not guaranteed that this number of be accurate, as it will not react to changes made to AVAudioSession after it was queried.

    Declaration

    Objective-C

    @property (nonatomic, readonly) NSInteger channelCount;

    Swift

    var channelCount: Int { get }
  • If this device contains an audio stream, the audio format.

    Declaration

    Objective-C

    @property (nonatomic, readonly) IVSAudioFormat audioFormat;

    Swift

    var audioFormat: IVSAudioFormat { get }
  • Default device indicator.

    @discussion

    In the case of audio devices, this will be YES for the device that is the current audio input route at the time the audio devices were queried. It is possible the default device will change if you have made changes to your application’s AVAudioSession instance. See IVSBroadcastSession.applicationAudioSessionStrategy for more information.

    For cameras, it is possible that each position (front, back) will have a default camera, so your application should handle the scenario where this is YES for multiple devices.

    Declaration

    Objective-C

    @property (nonatomic, readonly) BOOL isDefault;

    Swift

    var isDefault: Bool { get }