
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
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.