# Package com.castlabs.sdk.mediasession

- Interface Summary
  Interface | Description
  --- | ---
  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
  --- | ---
  MediaSessionBuilder | Media Session builder allowing customizations
  MediaSessionPlugin | MediaSessionPlugin integrates castLabs Player SDK with AndroidX Media2 session APIs.
  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.