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

-------------

Commit messages:
 - 8389211: Fix HLS Live issues found during testing of JDK-8331458 and various 
live streams

Changes: https://git.openjdk.org/jfx/pull/2227/files
  Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=2227&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8389211
  Stats: 379 lines in 3 files changed: 246 ins; 64 del; 69 mod
  Patch: https://git.openjdk.org/jfx/pull/2227.diff
  Fetch: git fetch https://git.openjdk.org/jfx.git pull/2227/head:pull/2227

PR: https://git.openjdk.org/jfx/pull/2227

Reply via email to