stream.hls: customizable playlist reload times #2925
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds support for customizable HLS playlist reload times via
--hls-playlist-reload-time
.Values can be
"segment"
- sets refresh time to the duration of the last segment"live-edge"
- sets refresh time to the sum of durations of thelive-edge - 1
last segmentsFor all other values, falls back to the playlist's
target_duration
if it is set, otherwise does the same aslive-edge
(this logic got changed, wassegment
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
toHLSStreamWorker._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.