amazon-chime-sdk / com.amazonaws.services.chime.sdk.meetings.audiovideo / AudioVideoObserver

# AudioVideoObserver

`interface AudioVideoObserver`

AudioVideoObserver handles audio / video session events.

Note: all callbacks will be called on main thread.

### Functions

#### onAudioSessionCancelledReconnect | Called when audio session cancelled reconnecting. `abstract fun onAudioSessionCancelledReconnect(): Unit`
#### onAudioSessionDropped | Called when audio session got dropped due to poor network conditions. There will be an automatic attempt of reconnecting it. If the reconnection is successful, onAudioSessionStarted will be called with value of reconnecting as true `abstract fun onAudioSessionDropped(): Unit`
#### onAudioSessionStarted | Called when the audio session has started. `abstract fun onAudioSessionStarted(reconnecting: Boolean): Unit`
#### onAudioSessionStartedConnecting | Called when the audio session is connecting or reconnecting. `abstract fun onAudioSessionStartedConnecting(reconnecting: Boolean): Unit`
#### onAudioSessionStopped | Called when the audio session has stopped with the reason provided in the status. This callback implies that audio client has stopped permanently for this session and there will be no attempt of reconnecting it. `abstract fun onAudioSessionStopped(sessionStatus: MeetingSessionStatus): Unit`
#### onCameraSendAvailabilityUpdated | Called when video capacity status is updated. `abstract fun onCameraSendAvailabilityUpdated(available: Boolean): Unit`
#### onConnectionBecamePoor | Called when connection became poor. `abstract fun onConnectionBecamePoor(): Unit`
#### onConnectionRecovered | Called when the connection health is recovered. `abstract fun onConnectionRecovered(): Unit`
#### onRemoteVideoSourceAvailable | Called when remote video source(s) is/are now available. `abstract fun onRemoteVideoSourceAvailable(sources: List<RemoteVideoSource>): Unit`
#### onRemoteVideoSourceUnavailable | Called when remote video source(s) is/are no longer available. `abstract fun onRemoteVideoSourceUnavailable(sources: List<RemoteVideoSource>): Unit`
#### onVideoSessionStarted | Called when the video session has started. Sometimes there is a non fatal error such as trying to send local video when the capacity was already reached. However, user can still receive remote video in the existing video session. `abstract fun onVideoSessionStarted(sessionStatus: MeetingSessionStatus): Unit`
#### onVideoSessionStartedConnecting | Called when the video session is connecting or reconnecting. `abstract fun onVideoSessionStartedConnecting(): Unit`
#### onVideoSessionStopped | Called when the video session has stopped from a started state with the reason provided in the status. `abstract fun onVideoSessionStopped(sessionStatus: MeetingSessionStatus): Unit`