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

- Interface Summary
  Interface | Description
  --- | ---
  MediaItemConverter | Converts between `Media2 MediaItem` and `ExoPlayer MediaItem`.
  SessionCallbackBuilder.AllowedCommandProvider | Provides allowed commands for `MediaController`.
  SessionCallbackBuilder.CustomCommandProvider | Callbacks for querying what custom commands are supported, and for handling a custom command when a controller sends it.
  SessionCallbackBuilder.DisconnectedCallback | Callback for handling controller disconnection.
  SessionCallbackBuilder.MediaItemProvider | Provides the `MediaItem`.
  SessionCallbackBuilder.PostConnectCallback | Callback for handling extra initialization after the connection.
  SessionCallbackBuilder.RatingCallback | Callback receiving a user rating for a specified media id.
  SessionCallbackBuilder.SkipCallback | Callback receiving skip backward and skip forward.

- Class Summary
  Class | Description
  --- | ---
  DefaultMediaItemConverter | Default implementation of `MediaItemConverter`.
  SessionCallbackBuilder | Builds a `MediaSession.SessionCallback` with various collaborators.
  SessionCallbackBuilder.DefaultAllowedCommandProvider | Default implementation of `SessionCallbackBuilder.AllowedCommandProvider` that behaves as follows: Accepts connection requests from controller if any of the following conditions are met: Controller is in the same package as the session.
  SessionCallbackBuilder.MediaIdMediaItemProvider | A `SessionCallbackBuilder.MediaItemProvider` that creates media items containing only a media ID.
  SessionPlayerConnector | An implementation of `SessionPlayer` that wraps a given ExoPlayer `Player` instance.