Inherits from UIViewController
Conforms to Bit6CallControllerDelegate
Declared in Bit6CallViewController.h

Overview

UIViewController to use during a call. This class should be extended. Only one object of this class or its subclasses should be kept in memory.

Properties

callControllers

List of calls linked to this viewController.

@property (nonatomic, copy, readonly) NSArray<Bit6CallController*> *callControllers

Declared In

Bit6CallViewController.h

localVideoView

View to render the local video feed.

@property (nullable, nonatomic, strong, readonly) Bit6VideoFeedView *localVideoView

Declared In

Bit6CallViewController.h

Class Methods

createForCall:

Needs to be implemented in the subclass to return a new view controller for the call.

+ (Bit6CallViewController *)createForCall:(Bit6CallController *)callController

Parameters

callController

object to build the UI around.

Return Value

an UIViewController to use for the call.

Declared In

Bit6CallViewController.h

Instance Methods

callController:callDidChangeToState:

Called in the Main Thread when the status of the call changes. Needs to call super if implemented.

- (void)callController:(Bit6CallController *)callController callDidChangeToState:(Bit6CallState)state

Parameters

callController

object which state has changed.

state

new state for the call.

Declared In

Bit6CallViewController.h

callController:localVideoFeedInterruptedBecause:

Called in the Main Thread when the local video feed will be interrupted. Needs to call super if implemented.

- (void)callController:(Bit6CallController *)callController localVideoFeedInterruptedBecause:(int)reason

Parameters

callController

object referring to the call.

reason

reason for the interruption as a AVCaptureSessionInterruptionReason value. Only AVCaptureSessionInterruptionReasonVideoDeviceNotAvailableWithMultipleForegroundApps is supported at the moment.

Declared In

Bit6CallViewController.h

localVideoFeedInterruptionEndedForCallController:

Called in the Main Thread when the local video feed interruption has ended. Needs to call super if implemented.

- (void)localVideoFeedInterruptionEndedForCallController:(Bit6CallController *)callController

Parameters

callController

object referring to the call.

Declared In

Bit6CallViewController.h

refreshControlsView

Called in the Main Thread when the UI controls should be updated. For example when the “mute” property changed this method will be called to allow updating the UI accordingly. The default implementation does nothing.

- (void)refreshControlsView

Declared In

Bit6CallViewController.h

secondsDidChangeForCallController:

Called in the Main Thread each second to allow the refresh of a timer UI. Needs to call super if implemented.

- (void)secondsDidChangeForCallController:(Bit6CallController *)callController

Parameters

callController

object which ‘seconds’ property has changed.

Declared In

Bit6CallViewController.h

setNeedsUpdateVideoViewLayout

Used if you need to force a call to <updateLayoutForRemoteVideoView:localVideoView:remoteVideoAspectRatio:localVideoAspectRatio:>.

- (void)setNeedsUpdateVideoViewLayout

Declared In

Bit6CallViewController.h

show

Shows the callViewController in a new UIWindow using a “slide up from the bottom of the screen” transition.

- (void)show

Declared In

Bit6CallViewController.h

updateLayoutForVideoFeedViews:

Called in the Main Thread to customize the frames for the video feeds. You can call setNeedsUpdateVideoViewLayout at any time to force a refresh of the frames.

- (void)updateLayoutForVideoFeedViews:(NSArray<Bit6VideoFeedView*> *)videoFeedViews

Parameters

videoFeedViews

the Bit6VideoFeedView references to the video feed.

Declared In

Bit6CallViewController.h