media/libraries
tianyifeng 23e92805a1 Throw exception when TimestampAdjuster initialization hits timeout
Add `HlsMediaSource.Factory.setTimestampAdjusterInitializationTimeoutMs(long)` to set the timeout for the loading thread to wait for the `TimestampAdjuster` to initialize. If the initialization doesn't complete before the timeout, a `PlaybackException` is thrown to avoid the playback endless stalling. The timeout is set to zero by default.

This can avoid HLS playback endlessly stalls when manifest has missing discontinuities. According to the HLS spec, all variants and renditions have discontinuities at the same points in time. If not, the one with discontinuities will have a new `TimestampAdjuster` not shared by the others. When the loading thread of that variant is waiting for the other threads to initialize the timestamp and hits the timeout, the playback will stall.

Issue: androidx/media#323

#minor-release

PiperOrigin-RevId: 539108886
(cherry picked from commit db3e662bdc)
2023-06-12 09:15:54 +00:00
..
cast Implement Player.replaceMediaItem(s) 2023-05-26 13:25:10 +00:00
common Throw exception when TimestampAdjuster initialization hits timeout 2023-06-12 09:15:54 +00:00
container Add support for passing custom metadata via transformer 2023-06-12 09:15:53 +00:00
database Fix javadoc links in media README files 2023-03-30 17:26:40 +00:00
datasource Remove two deprecated InvalidResponseCodeException constructors 2023-05-17 16:59:55 +00:00
datasource_cronet Update dependencies to latest versions 2023-04-26 15:49:57 +01:00
datasource_okhttp Fix javadoc links in media README files 2023-03-30 17:26:40 +00:00
datasource_rtmp Fix javadoc links in media README files 2023-03-30 17:26:40 +00:00
decoder Update dependencies to latest versions 2023-04-26 15:49:57 +01:00
decoder_av1 Remove Javadoc TODO from README of decoder extensions 2023-04-05 15:48:58 +01:00
decoder_ffmpeg Remove FfmpegVideoRenderer from 1.1.0 release 2023-05-18 18:04:45 +00:00
decoder_flac Update dependencies to latest versions 2023-04-26 15:49:57 +01:00
decoder_opus Update dependencies to latest versions 2023-04-26 15:49:57 +01:00
decoder_vp9 Update dependencies to latest versions 2023-04-26 15:49:57 +01:00
effect Add missing empty lines 2023-06-12 09:15:54 +00:00
exoplayer Make current period a placeholder when a live stream is reset 2023-06-12 09:15:54 +00:00
exoplayer_dash Do not reset period uid when DashMediaSource is released 2023-06-12 09:15:54 +00:00
exoplayer_hls Throw exception when TimestampAdjuster initialization hits timeout 2023-06-12 09:15:54 +00:00
exoplayer_ima Fix splitting ad playback state for partial ad group when joining 2023-06-12 09:15:54 +00:00
exoplayer_rtsp Use base Uri from the RTSP DESCRIBE response header for relative paths 2023-05-26 13:25:10 +00:00
exoplayer_smoothstreaming Implement logging support for Common Media Client Data (CMCD) 2023-06-12 09:15:54 +00:00
exoplayer_workmanager Remove deprecated WorkManagerScheduler constructor 2023-05-18 16:07:51 +00:00
extractor Add support for passing custom metadata via transformer 2023-06-12 09:15:53 +00:00
muxer Enable nullness checker for Muxer module androidTest library 2023-06-12 09:15:53 +00:00
session Add seekPrev and seekNext buttons on the default compact notification 2023-06-12 09:15:53 +00:00
test_data Add support for passing custom metadata via transformer 2023-06-12 09:15:53 +00:00
test_exoplayer_playback Update dependencies to latest versions 2023-04-26 15:49:57 +01:00
test_session_common Implement Player.replaceMediaItem(s) 2023-05-26 13:25:10 +00:00
test_session_current Allow playback of MediaItems with LocalConfiguration 2023-06-12 09:15:01 +00:00
test_utils Effect: Add multiple texture output test. 2023-06-12 09:15:52 +00:00
test_utils_robolectric Move MdtaMetadataEntry class into container module 2023-05-26 13:25:07 +00:00
transformer Add support for passing custom metadata via transformer 2023-06-12 09:15:53 +00:00
ui Keep aspect ratio of PlayerView when IDLE 2023-05-26 13:25:10 +00:00
ui_leanback Use Util method for common UI play/pause button logic. 2023-04-26 15:52:50 +01:00