-
Notifications
You must be signed in to change notification settings - Fork 718
Description
Use case description
Multiple Android TV streamers in a bar or other hospitality situation require video synchronized to a single live offset. This feature is documented in https://developer.android.com/guide/topics/media/exoplayer/live-streaming
The problem is this unlikely to work for HLS, as there is no spec mandated synchronization of time in the client to common time (NTP or the origin server). The spec does recommend msec accurate wall-clock time in the playlist:
#EXT-X-PROGRAM-DATE-TIME:
where date-time-msec is an ISO/IEC 8601:2004 [ISO_8601] date/time
representation, such as YYYY-MM-DDThh:mm:ss.SSSZ. It SHOULD indicate
a time zone and fractional parts of seconds, to millisecond accuracy.
So, all the pieces except for time synchronization are present.
Note, this is also requested in google/ExoPlayer#10990
Proposed solution
Simple, synchronize `androidx.media3.exoplayer.hls.HlsMediaSource.Factory#elapsedRealTimeOffsetMs
Alternatives considered
n/a