-
Notifications
You must be signed in to change notification settings - Fork 7
Live HLS ingress #110
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Live HLS ingress #110
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds support for live HLS (HTTP Live Streaming) ingress functionality to the Boombox streaming library. The implementation includes comprehensive test coverage and updates the dependency to support HLS live streaming operations.
Key changes:
- Added support for live HLS mode with proper handling in tests and core functionality
- Updated dependencies to enable HLS streaming capabilities
- Enhanced test infrastructure to handle live streaming scenarios with appropriate timeouts
Reviewed Changes
Copilot reviewed 4 out of 5 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| test/boombox_test.exs | Added comprehensive test cases for live and VOD HLS modes, updated endpoint handling logic, and improved test timeout configuration |
| mix.exs | Updated HLS plugin dependency and added ex_hls package for HLS functionality |
| lib/boombox/internal_bin.ex | Enhanced HLS input detection to support local files and removed live mode detection logic |
| lib/boombox.ex | Simplified HLS input type definitions by removing mode options |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
test/boombox_test.exs
Outdated
| # defp sort_endpoint_pairs(endpoint_pairs) do | ||
| # chunks = Enum.split | ||
| # end | ||
|
|
Copilot
AI
Sep 26, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove commented-out dead code. This incomplete function definition serves no purpose and reduces code clarity.
| # defp sort_endpoint_pairs(endpoint_pairs) do | |
| # chunks = Enum.split | |
| # end |
mix.exs
Outdated
| {:membrane_realtimer_plugin, "~> 0.9.0"}, | ||
| {:membrane_http_adaptive_stream_plugin, "~> 0.19.0"}, | ||
| {:membrane_http_adaptive_stream_plugin, "~> 0.20.1"}, | ||
| {:ex_hls, "~> 0.1.2"}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think we need that
lib/boombox/internal_bin/hls.ex
Outdated
| Logger.info(""" | ||
| Option :mode is deprecated for HLS input. Its value will be ignored. | ||
| It was set to #{inspect(maybe_hls_mode)}. | ||
| """) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's make it a warning
test/boombox_test.exs
Outdated
| do: | ||
| {:srt, "srt://127.0.0.1:9710", | ||
| [stream_id: "some_stream_id", password: "some_password"]} | ||
| do: {:srt, "srt://127.0.0.1", [stream_id: "some_stream_id", password: "some_password"]} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not sure if I like the fact that now the endpoints we use in tests definition are different than Boombox endpoints itself (i.e. in Boombox we have srt://<host>:<port> input, and in tests we use srt://<host>)
varsill
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🥇
No description provided.