On Wed, 29 Jul 2026 01:08:18 GMT, Alexander Matveev <[email protected]> wrote:
> - Changed on how HLS select media file index when variant playlist is > switched. It was based on file name, but it is not reliable, since file names > are not guaranteed to match. Instead, index is adjusted based on sequence > number which should not drift more than +/- 1 when switch is done. Sequence > number is like index of first segment file in live streams. > Fixed issue when variant playlist was not detected as live even it was live. > Playlist with variant playlists was detected correctly as live. > - Fixed reload time. Thread sleep is expecting milliseconds, and we provided > (seconds / 2) as milliseconds without conversion. As have resulted we were > requesting playlist way too often. > - Redone mechanism on how we are waiting for live segments to be added. Old > approach had a bug with semaphore and if we added two segments in one run it > will cause code to assume that we have segments when we did not. As a result, > EOS was signaled for live streams. This issue does not reproduce often but > might happen. > - Old playlist data will be cleared when we are switching bitrate, otherwise > we will attempt to play old segments which are gone long time. > - Fixed start time for live streams by sending `BYTE` segment vs `TIME`, so > `qtdemux` will handle initial start time. Live streams will not start with 0 > PTS as on demand. > - `javasource` will report `GST_CLOCK_TIME_NONE` for unknown duration instead > of large negative number. > - `#EXT-X-MEDIA` streams will be seek to last segment similar to streams > without `#EXT-X-MEDIA` when seek to the end. > > > > > > --------- > - [x] I confirm that I make this contribution in accordance with the [OpenJDK > Interim AI Policy](https://openjdk.org/legal/ai). 8389211: Fix HLS Live issues found during testing of JDK-8331458 and various live streams [v2] - Playlist switch will done using index and not a sequence number. Using sequence number is not correct. - Adjusted reload time. Reload time will be target duration after playlist was updated or target duration / 2 if playlist did not change. - If live changed to VOD playlist we will stop reloading. ------------- PR Comment: https://git.openjdk.org/jfx/pull/2227#issuecomment-5673203287
