media/library
bachinger 37aab2b7e9 Ignore live SSAI postroll placeholders in MediaPeriodQueue
This change makes sure that the `AdPlaybackState` of any period can
contain an empty postroll placeholder.

The placeholder postroll should be represented in the `MediaPeriodId`
of a content period as `nextAdGroupIndex`, but should be ignored when
building the list of `MediaPeriodInfo` in the `MediaPeriodQueue`. This
is required to allow to add an ad group to ad playback state of the
content period that is currently being played, instantly insert an ad
period into the media period queue and immediately transition playback
to the new period.

This change makes sure and tests that

- a live server side inserted postroll placeholder can be inserted to
  a `AdPlaybackState` in well-defined and tested way (helper method)
- a postroll placeholder is NOT ignored when
  `AdPlaybackState.getAdGroupIndexAfterPositionUs` is called (this
   is required when evaluating the `nextAdGroupIndex`).
- a postroll placeholder is ignored when
  `AdPlaybackState.getAdGroupIndexForPositionUs` is called (this is
  required to not attempt to play the ad and is analogous to ignore the
  post roll placeholder in a single period timeline).
- `MediaPeriod.getFollowingMediaPeriodInfo()` does not include a
  `MediaPeriodInfo` for the placeholder postroll when building the
   queue.

PiperOrigin-RevId: 515079136
2023-03-14 08:27:16 +00:00
..
all Fix minimum API level issue 2022-02-08 11:03:36 +00:00
common Ignore live SSAI postroll placeholders in MediaPeriodQueue 2023-03-14 08:27:16 +00:00
core Ignore live SSAI postroll placeholders in MediaPeriodQueue 2023-03-14 08:27:16 +00:00
dash Make DefaultDashChunkSource more robust against empty segment timelines 2023-03-07 15:43:41 +00:00
database Reformat some javadoc 2022-02-18 15:02:33 +00:00
datasource Add missing @param tags 2023-03-07 12:14:41 +00:00
decoder Expect PresentationTime Discontinuity During Stream Transitions 2022-04-26 14:25:46 +01:00
effect [Media3][Test] Add save location to test utils for bitmap utils 2023-03-14 08:23:17 +00:00
extractor Add missing @param tags 2023-03-07 12:14:41 +00:00
hls Add missing @param tags 2023-03-07 12:14:41 +00:00
rtsp Catch IllegalArgumentExceptions in RTSP Response parsing 2023-02-13 14:18:53 +00:00
smoothstreaming Remove @see tags with <a> tags 2023-03-01 18:02:43 +00:00
transformer Split TransformerEndToEndTest 2023-03-14 08:19:19 +00:00
ui Fix lint-baseline.xml for latest UI translations 2023-03-02 17:39:57 +00:00
README.md Update to androidx.media3 2021-10-27 09:12:46 +01:00

ExoPlayer library

The ExoPlayer library is split into multiple modules. See ExoPlayer's top level README for more information about the available library modules and how to use them.