media/libraries/cast
bachinger 30fbc3a27d Use the public MediaItem in the timeline of CastPlayer
The media item needs to be assigned to `Window.mediaItem` in `CastTimeline.setWindow`. For this the `MediaItem` needs to be available in the timeline.

When a `MediaItem` is passed to the `set/addMediaItems` method, we can't yet know the Cast `MediaQueueItem.itemId` that is generated on the device and arrives with an async update of the `RemoteMediaClient` state. Hence in the `CastTimelineTracker`, we need to store the `MediaItem` by Casts's `MediaItem.contentId`. When we then receive the updated queue, we look the media item up by the content ID to augment the `ItemData` that is available in the `CastTimeline`.

Issue: androidx/media#25
Issue: google/ExoPlayer#8212

#minor-release

PiperOrigin-RevId: 460325235
2022-07-12 15:10:24 +00:00
..
src Use the public MediaItem in the timeline of CastPlayer 2022-07-12 15:10:24 +00:00
build.gradle Fix some lint warnings 2022-01-28 08:46:46 +00:00
README.md Update to androidx.media3 2021-10-27 09:12:46 +01:00

Cast module

This module provides a Player implementation that controls a Cast receiver app.

Getting the module

The easiest way to get the module is to add it as a gradle dependency:

implementation 'androidx.media3:media3-cast:1.X.X'

where 1.X.X is the version, which must match the version of the other media modules being used.

Alternatively, you can clone this GitHub project and depend on the module locally. Instructions for doing this can be found in the top level README.

Using the module

Create a CastPlayer and use it to control a Cast receiver app. Since CastPlayer implements the Player interface, it can be passed to all media components that accept a Player, including the UI components provided by the UI module.