media/extensions
bachinger 0588068f19 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 09:03:52 +00:00
..
av1 Add javadoc links to README files 2022-12-12 13:07:19 +00:00
cast Map PLAYER_STATE_LOADING to STATE_BUFFERING 2023-02-24 09:18:11 +00:00
cronet Handle buffers in DefaultAudioSink with AudioProcessingPipeline. 2022-11-16 12:10:21 +00:00
ffmpeg Add javadoc links to README files 2022-12-12 13:07:19 +00:00
flac Add javadoc links to README files 2022-12-12 13:07:19 +00:00
ima Support splitting the ad playback state for live streams 2023-03-14 09:03:52 +00:00
leanback Fix (another) LeanbackPlayerAdapter param name mismatch 2023-02-01 15:19:45 +00:00
media2 Add manifest to make gradle build work 2022-10-20 02:35:14 +00:00
mediasession Update translations 2023-03-01 17:46:46 +00:00
okhttp Annotate methods that always return this with @CanIgnoreReturnValue 2022-07-25 22:19:11 +01:00
opus Add javadoc links to README files 2022-12-12 13:07:19 +00:00
rtmp Annotate methods that always return this with @CanIgnoreReturnValue 2022-07-25 22:19:11 +01:00
vp9 Add set -eu to all shell scripts 2022-11-22 09:51:36 +00:00
workmanager Reformat some javadoc 2022-02-18 15:02:33 +00:00
README.md Tweak and add READMEs + remove refs to V1 2017-08-17 22:59:34 +01:00

ExoPlayer extensions

ExoPlayer extensions are modules that depend on external libraries to provide additional functionality. Browse the individual extensions and their READMEs to learn more.