media/libraries
bachinger 1607e3daf5 Make adding ad live breaks more robust
This change makes adding ad events in live streams more robust by allowing ad
groups to grow in number of ads if more ad events are received than initially
announced by the SDK.

With the IMA prefetch feature, an AdPod can grow in size in certain conditions
like from initially 2 ads to 4 ads being part of the ad group. With this change,
if an additional ad event arrives while the ad group is still being played,
the ad group is expanded. If the event arrives late and the ad group is already
completed, a new group is created for the remaining ads.

This also covers the case where we join the live stream while an ad is being
played and we missed at least one LOADED event from the SDK. Ads of the group
before the first LOADED event are ignored in such a case.

PiperOrigin-RevId: 484214760
(cherry picked from commit 64e9e88823)
2022-10-27 11:10:10 +00:00
..
cast Add device info to CastPlayer 2022-08-19 10:45:11 +00:00
common Add AudioProcessor.AudioFormat equals method. 2022-10-26 16:02:24 +00:00
database Mark all non-public IntDefs as only TYPE_USE 2022-02-21 16:56:36 +00:00
datasource Fix instrumentation tests not working via Gradle 2022-09-20 15:25:38 +00:00
datasource_cronet Fix instrumentation tests not working via Gradle 2022-09-20 15:25:38 +00:00
datasource_okhttp Annotate methods that always return this with @CanIgnoreReturnValue 2022-07-21 15:24:07 +00:00
datasource_rtmp Annotate methods that always return this with @CanIgnoreReturnValue 2022-07-21 15:24:07 +00:00
decoder Expect PresentationTime Discontinuity During Stream Transitions 2022-04-26 14:21:36 +01:00
decoder_av1 Update CMake version for AV1 extension 2022-08-15 10:49:44 +00:00
decoder_ffmpeg Move AudioProcessor to common. 2022-10-25 16:40:38 +00:00
decoder_flac Move AudioProcessor to common. 2022-10-25 16:40:38 +00:00
decoder_opus Move AudioProcessor to common. 2022-10-25 16:40:38 +00:00
decoder_vp9 Add manifest to make gradle build work 2022-10-17 11:33:10 +00:00
effect Add GL utility methods to get 4x4 identity and set identity 2022-10-25 14:47:52 +00:00
exoplayer Make adding ad live breaks more robust 2022-10-27 11:10:10 +00:00
exoplayer_dash Fix 3 ErrorProneStyle findings: 2022-08-31 08:29:19 +00:00
exoplayer_hls Annotate methods that always return this with @CanIgnoreReturnValue 2022-07-21 15:24:07 +00:00
exoplayer_ima Make adding ad live breaks more robust 2022-10-27 11:10:10 +00:00
exoplayer_rtsp Merge pull request #162 from ittiam-systems:rtp-mp4a-latm 2022-10-24 10:49:25 +00:00
exoplayer_smoothstreaming Annotate methods that always return this with @CanIgnoreReturnValue 2022-07-21 15:24:07 +00:00
exoplayer_workmanager Reformat some javadoc 2022-02-18 14:54:02 +00:00
extractor Fix Cea608Decoder handling of service switch commands in field 2 2022-10-26 11:09:04 +00:00
session Add injection of BitmapLoader from MediaSession. 2022-10-25 13:21:08 +00:00
test_data Merge pull request #162 from ittiam-systems:rtp-mp4a-latm 2022-10-24 10:49:25 +00:00
test_exoplayer_playback Fix instrumentation tests not working via Gradle 2022-09-20 15:25:38 +00:00
test_session_common MediaController: Add missing event flags (1/2) 2022-10-18 15:54:54 +00:00
test_session_current MediaController: Add missing event flags (1/2) 2022-10-18 15:54:54 +00:00
test_utils Test: Rename to avoid redundant substrings. 2022-09-29 14:54:25 +00:00
test_utils_robolectric Add timestamp to Metadata 2022-06-27 11:31:10 +00:00
transformer Add muxer timer to detect when generating an output sample is too slow 2022-10-27 07:58:56 +00:00
ui Remove ForwardingPlayer special case from PlayerControlView.setPlayer 2022-10-19 10:40:06 +00:00
ui_leanback Listen to playWhenReady changes in LeanbackPlayerAdapter 2022-07-11 15:49:33 +00:00