# Package com.google.android.exoplayer2.ext.mediasession

- Interface Summary
  Interface | Description
  --- | ---
  MediaSessionConnector.CaptionCallback | Handles requests for enabling or disabling captions.
  MediaSessionConnector.CommandReceiver | Receiver of media commands sent by a media controller.
  MediaSessionConnector.CustomActionProvider | Provides a `PlaybackStateCompat.CustomAction` to be published and handles the action when sent by a media controller.
  MediaSessionConnector.MediaButtonEventHandler | Handles a media button event.
  MediaSessionConnector.MediaMetadataProvider | Provides a `MediaMetadataCompat` for a given player state.
  MediaSessionConnector.PlaybackPreparer | Interface to which playback preparation and play actions are delegated.
  MediaSessionConnector.QueueEditor | Handles media session queue edits.
  MediaSessionConnector.QueueNavigator | Handles queue navigation actions, and updates the media session queue by calling `MediaSessionCompat.setQueue()`.
  MediaSessionConnector.RatingCallback | Callback receiving a user rating for the active media item.
  TimelineQueueEditor.MediaDescriptionConverter | Converts a `MediaDescriptionCompat` to a `MediaItem`.
  TimelineQueueEditor.QueueDataAdapter | Adapter to get `MediaDescriptionCompat` of items in the queue and to notify the application about changes in the queue to sync the data structure backing the `MediaSessionConnector`.

- Class Summary
  Class | Description
  --- | ---
  MediaSessionConnector | Connects a `MediaSessionCompat` to a `Player`.
  MediaSessionConnector.DefaultMediaMetadataProvider | Provides a default `MediaMetadataCompat` with properties and extras taken from the `MediaDescriptionCompat` of the `MediaSessionCompat.QueueItem` of the active queue item.
  RepeatModeActionProvider | Provides a custom action for toggling repeat modes.
  TimelineQueueEditor | A `MediaSessionConnector.QueueEditor` implementation.
  TimelineQueueEditor.MediaIdEqualityChecker | Media description comparator comparing the media IDs.
  TimelineQueueNavigator | An abstract implementation of the `MediaSessionConnector.QueueNavigator` that maps the windows of a `Player`'s `Timeline` to the media session queue.

- Annotation Types Summary
  Annotation Type | Description
  --- | ---
  MediaSessionConnector.PlaybackActions | Playback actions supported by the connector.