bastimeyer · GitHub

Adds support for customizable HLS playlist reload times via --hls-playlist-reload-time.

Values can be

  • numbers (float) greater than 2 - self-explanatory
  • "segment" - sets refresh time to the duration of the last segment
  • "live-edge" - sets refresh time to the sum of durations of the live-edge - 1 last segments

For all other values, falls back to the playlist's target_duration if it is set, otherwise does the same as live-edge (this logic got changed, was segment before), and if no target duration and no segments are present, then the default value of 15 is used.

Also renames HLSStreamWorker._set_playlist_reload_time to HLSStreamWorker._playlist_reload_time and sets the reload time from its return value instead.


The changes are rather trivial, but I'd like to improve the integration tests a bit. It currently only tests one playlist refresh. Ideally, multiple playlists should be tested, but I couldn't set up a simple method spy with unittest.mock. Help and feedback is appreciated.

Read the original on github.com ↗