media/libraries
bachinger 2dee3bf46c 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 07:44:55 +00:00
..
cast Map PLAYER_STATE_LOADING to STATE_BUFFERING 2023-02-27 17:59:16 +00:00
common Ignore live SSAI postroll placeholders in MediaPeriodQueue 2023-03-14 07:44:55 +00:00
database Add javadoc links to README files 2022-12-12 11:19:23 +00:00
datasource Add missing @param tags 2023-03-07 11:49:24 +00:00
datasource_cronet Add javadoc links to README files 2022-12-12 11:19:23 +00:00
datasource_okhttp Add javadoc links to README files 2022-12-12 11:19:23 +00:00
datasource_rtmp Add javadoc links to README files 2022-12-12 11:19:23 +00:00
decoder Add javadoc links to README files 2022-12-12 11:19:23 +00:00
decoder_av1 Add javadoc links to README files 2022-12-12 11:19:23 +00:00
decoder_ffmpeg Add javadoc links to README files 2022-12-12 11:19:23 +00:00
decoder_flac Add javadoc links to README files 2022-12-12 11:19:23 +00:00
decoder_opus Add javadoc links to README files 2022-12-12 11:19:23 +00:00
decoder_vp9 Add javadoc links to README files 2022-12-12 11:19:23 +00:00
effect [Media3][Test] Add save location to test utils for bitmap utils 2023-03-14 07:43:56 +00:00
exoplayer Ignore live SSAI postroll placeholders in MediaPeriodQueue 2023-03-14 07:44:55 +00:00
exoplayer_dash Make DefaultDashChunkSource more robust against empty segment timelines 2023-03-07 15:52:07 +00:00
exoplayer_hls Add missing @param tags 2023-03-07 11:49:24 +00:00
exoplayer_ima Add ad event listeners in the Looper event of the ad manager callback 2023-02-13 12:26:04 +00:00
exoplayer_rtsp Catch IllegalArgumentExceptions in RTSP Response parsing 2023-02-13 14:18:53 +00:00
exoplayer_smoothstreaming Remove @see tags with <a> tags 2023-03-01 17:25:48 +00:00
exoplayer_workmanager Add javadoc links to README files 2022-12-12 11:19:23 +00:00
extractor Add missing @param tags 2023-03-07 11:49:24 +00:00
session Document that custom commands can only be sent if they are defined 2023-03-14 07:32:36 +00:00
test_data Pass Metadata to Muxer when adding a track. 2023-03-07 11:56:53 +00:00
test_exoplayer_playback Fix instrumentation tests not working via Gradle 2022-09-30 18:03:11 +00:00
test_session_common Exclude test_session_{common,current} from API and Javadoc tests 2023-03-07 11:48:38 +00:00
test_session_current Exclude test_session_{common,current} from API and Javadoc tests 2023-03-07 11:48:38 +00:00
test_utils Ignore live SSAI postroll placeholders in MediaPeriodQueue 2023-03-14 07:44:55 +00:00
test_utils_robolectric Rollback of 7e63997459 2022-12-21 15:13:24 +00:00
transformer Split TransformerEndToEndTest 2023-03-14 07:42:55 +00:00
ui Fix lint-baseline.xml for latest UI translations 2023-03-02 17:21:16 +00:00
ui_leanback Fix (another) LeanbackPlayerAdapter param name mismatch 2023-02-01 10:41:50 +00:00