Protocols

The following protocols are available globally.

  • EventAnalyticsController keeps track of events and notifies EventAnalyticsObserver. An event describes the success and failure conditions for the meeting session.

    See more

    Declaration

    Swift

    @objc
    public protocol EventAnalyticsController
  • EventAnalyticsFacade exposes event analytics related function to builders

    See more

    Declaration

    Swift

    @objc
    public protocol EventAnalyticsFacade
  • EventAnalyticsObserver handles events regarding to analytics.

    See more

    Declaration

    Swift

    @objc
    public protocol EventAnalyticsObserver
  • AudioVideoControllerFacade manages the signaling and peer connections.

    See more

    Declaration

    Swift

    @objc
    public protocol AudioVideoControllerFacade
  • AudioVideoObserver handles audio/video session events.

    See more

    Declaration

    Swift

    @objc
    public protocol AudioVideoObserver
  • PrimaryMeetingPromotionObserver handles events related to Primary meeting promotion. See AudioVideoControllerFacade.promoteToPrimaryMeeting for more information.

    See more

    Declaration

    Swift

    @objc
    public protocol PrimaryMeetingPromotionObserver
  • ActiveSpeakerDetectorFacade listens to the volume indicator updates from the RealtimeControllerFacade. It consults the ActiveSpeakerPolicy to determine if the speaker is active or not.

    See more

    Declaration

    Swift

    @objc
    public protocol ActiveSpeakerDetectorFacade
  • ActiveSpeakerObserver handles event related to finding active speaker and corresponding scores

    See more

    Declaration

    Swift

    @objc
    public protocol ActiveSpeakerObserver
  • Declaration

    Swift

    @objc
    public protocol ActiveSpeakerPolicy
  • Scheduler calls a callback on the schedule determined by the implementation.

    See more

    Declaration

    Swift

    @objc
    public protocol Scheduler
  • ContentShareController exposes methods for starting and stopping content share with a ContentShareSource. The content represents a media steam to be shared in the meeting, such as screen capture or media files. Please refer to content share guide for details.

    See more

    Declaration

    Swift

    @objc
    public protocol ContentShareController
  • ContentShareObserver handles all callbacks related to the content share. By implementing the callback functions and registering with ContentShareController.addContentShareObserver, one can get notified with content share status events.

    See more

    Declaration

    Swift

    @objc
    public protocol ContentShareObserver
  • See Using Amazon Chime SDK live transcription developer guide for details about transcription message types and data guidelines

    Declaration

    Swift

    @objc
    public protocol TranscriptEvent
  • MetricsObserver handles events related to audio/video metrics.

    See more

    Declaration

    Swift

    @objc
    public protocol MetricsObserver
  • VideoFrameBuffer is a buffer which contains a single video buffer’s raw data. Typically owned by a VideoFrame which includes additional metadata.

    See more

    Declaration

    Swift

    @objc
    public protocol VideoFrameBuffer
  • VideoRenderView is the type of VideoSink used by the VideoTileController

    Declaration

    Swift

    @objc
    public protocol VideoRenderView : VideoSink
  • A VideoSink consumes video frames, typically from a VideoSource. It may process, fork, or render these frames. Typically connected via video VideoSource.addVideoSink and disconnected via VideoSource.removeVideoSink

    See more

    Declaration

    Swift

    @objc
    public protocol VideoSink
  • VideoSource is an interface for sources which produce video frames, and can send to a VideoSink. Implementations can be passed to the AudioVideoFacade to be used as the video source sent to remote participlants

    See more

    Declaration

    Swift

    @objc
    public protocol VideoSource
  • VideoTile is a tile that binds video render view to diplay the frame into the view.

    See more

    Declaration

    Swift

    @objc
    public protocol VideoTile : VideoSink
  • VideoTileController handles rendering/creating of new VideoTile.

    See more

    Declaration

    Swift

    @objc
    public protocol VideoTileController : VideoTileControllerFacade
  • VideoTileControllerFacade allows one to control VideoTile. The caller is responsible for laying out video render views as desired and binding tile ids received from the observer in the videoTileDidAdd and videoTileDidRemove callbacks.

    See more

    Declaration

    Swift

    @objc
    public protocol VideoTileControllerFacade
  • VideoTileObserver handles events related to VideoTile.

    See more

    Declaration

    Swift

    @objc
    public protocol VideoTileObserver
  • CameraCaptureSource is an interface for camera capture sources with additional features not covered by VideoCaptureSource. All the APIs in this protocol can be called regardless of whether the MeetingSession.audioVideo is started or not.

    See more

    Declaration

    Swift

    @objc
    public protocol CameraCaptureSource : VideoCaptureSource
  • CaptureSourceObserver observes events resulting from different types of capture devices. Builders may desire this input to decide when to show certain UI elements, or to notify users of failure.

    See more

    Declaration

    Swift

    @objc
    public protocol CaptureSourceObserver
  • VideoCaptureSource is an interface for various video capture sources (i.e. screen, camera, file) which can emit VideoFrame objects. All the APIs in this protocol can be called regardless of whether the MeetingSession.audioVideo is started or not.

    See more

    Declaration

    Swift

    @objc
    public protocol VideoCaptureSource : VideoSource
  • DeviceChangeObserver listens to the change of Audio Device.

    See more

    Declaration

    Swift

    @objc
    public protocol DeviceChangeObserver
  • DeviceController keeps track of the devices being used for audio device (e.g. built-in speaker), video input (e.g. camera)). The list functions return MediaDevice objects. Changes in device availability are broadcast to any registered DeviceChangeObserver.

    See more

    Declaration

    Swift

    @objc
    public protocol DeviceController
  • EventBuffer defines storing and consuming of event data.

    See more

    Declaration

    Swift

    @objc
    public protocol EventBuffer
  • EventClientConfiguration contains speciic data required to send as metadata.

    See more

    Declaration

    Swift

    @objc
    public protocol EventClientConfiguration
  • EventReporter process data. It will be called in DefaultEventAnalyticsController.

    See more

    Declaration

    Swift

    @objc
    public protocol EventReporter
  • Declaration

    Swift

    @objc
    public protocol EventReporterFactory
  • EventSender handles the sending of ingestion record

    See more

    Declaration

    Swift

    @objc
    public protocol EventSender
  • DataMessasgeObserver handles data message event,

    See more

    Declaration

    Swift

    @objc
    public protocol DataMessageObserver
  • RealtimeControllerFacade controls aspects meetings concerning realtime UX that for performance, privacy, or other reasons should be implemented using the most direct path. Callbacks generated by this interface should be consumed synchronously and without business logic dependent on the UI state where possible.

    Events will be passed through RealtimeObserver, which in turn provides consumers the volume/mute/signal/attendee callbacks that can be used to render in the UI.

    See more

    Declaration

    Swift

    @objc
    public protocol RealtimeControllerFacade
  • RealtimeObserver handles event that happens in realtime, such as delta in attendees join or leave, volume/signal status.

    See more

    Declaration

    Swift

    @objc
    public protocol RealtimeObserver
  • TranscriptEventObserver provides a callback to handle transcript event

    See more

    Declaration

    Swift

    @objc
    public protocol TranscriptEventObserver
  • Declaration

    Swift

    @objc
    public protocol MeetingSession
  • Logger defines how to write logs for different logging level.

    See more

    Declaration

    Swift

    @objc
    public protocol Logger