media/libraries
bachinger d1534680e9 Support splitting the ad playback state for live streams
This change does basically three things in preparation of a follow
up CL that will insert ad breaks into multi-period live windows.

- Make sure that only `AdPlaybackState`s of multi-period streams
  are passed to `ImaUtil.splitAdPlaybackStateForPeriods()` from
  the media source.
- Enhance the splitting algorithm in ImaUtil to support live windows.
  Roughly, this includes calculating the window start position in the
  UNIX epoch context, handling the end period with an unknown duration
  and taking the `adResumePosition` of an ad group into account that
  affects the ad group start positions (`adGroup.timeUs`).
- Append a placeholder postroll ad group to the ad playback state of
  each period in a live stream to allow immediate transition to an
  ad that's inserted by an ad event from the SDK.

PiperOrigin-RevId: 516167958
2023-03-14 07:52:58 +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 Effect: Implement TimestampWrapper. 2023-03-14 07:52:12 +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 Support splitting the ad playback state for live streams 2023-03-14 07:52:58 +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 support for reading location data in MP4 extractor 2023-03-14 07:46:28 +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 Remove sample_h265.mp4 test file 2023-03-14 07:49:28 +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 Effect: Implement TimestampWrapper. 2023-03-14 07:52:12 +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