Skip to content

Conversation

@varsill
Copy link
Collaborator

@varsill varsill commented Nov 6, 2025

This PR:

  • adds ultra_low_latency? option to the Client which allows for turning on the ultra low latency mode

The ultra low latency mode:

  • starts the playback immediately
  • skips to the most recent segment

Closes membraneframework/membrane_core#1018

@varsill varsill marked this pull request as ready for review November 6, 2025 14:09
@varsill varsill requested a review from mat-hek November 6, 2025 14:09
@varsill varsill requested review from FelonEkonom and removed request for mat-hek November 6, 2025 14:25
forwarder: forwarder,
segment_format: segment_format
segment_format: segment_format,
ultra_low_latency?: ultra_low_latency?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For me this option name can be confused with LL-HLS, so I'd rename it to something more different

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how about live_edge_mode?

@varsill varsill requested a review from FelonEkonom November 13, 2025 14:28
Comment on lines 112 to 114
defp should_start_playing?(%{live_edge_mode?: true}) do
true
end
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let's move usage of live_edge_mode? filed into or statement in the next function clause

end

defp next_segment_to_download_seq_num(%{max_downloaded_seq_num: nil} = state) do
# in the ultra low latency mode it skips to the most recent segment
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 ultra low latency

the client will treat HLS segments based on the extension in their name,
falling back `MPEG-TS` if the cannot recognize the extension.
Passing `live_edge_mode?: true` option turns on ultra low latency mode of the client.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ultra low latency mode - it is now live edge mode

@varsill varsill merged commit 5c13ea8 into master Nov 17, 2025
3 checks passed
@varsill varsill deleted the varsill/ultra_low_latency branch November 17, 2025 10:02
@varsill varsill restored the varsill/ultra_low_latency branch November 17, 2025 10:03
@varsill varsill deleted the varsill/ultra_low_latency branch November 17, 2025 10:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Ultra low latency mode in ex_hls

3 participants