m3u8-rs
m3u8-rs copied to clipboard
DRAFT: Initial Support for LL-HLS
Summary
This pull request introduces initial support for Low-Latency HLS (LL-HLS). The following changes have been made to start accommodating the LL-HLS specification:
Changes Implemented
-
New LL-HLS Tags Support:
- Added parsers for LL-HLS specific tags, including
#EXT-X-SERVER-CONTROL
,#EXT-X-PART-INF
,#EXT-X-PART
,#EXT-X-SKIP
,#EXT-X-PRELOAD-HINT
, and#EXT-X-RENDITION-REPORT
.
- Added parsers for LL-HLS specific tags, including
-
Updated
MediaPlaylistTag
Enum:- Extended the
MediaPlaylistTag
enum to include variants for the new LL-HLS tags.
- Extended the
-
Enhanced
media_playlist_from_tags
Function:- Updated the
media_playlist_from_tags
function to properly handle and integrate the new LL-HLS tags into theMediaPlaylist
structure. - Ensured
Part
segments are correctly added to theparts
field ofMediaSegment
.
- Updated the
-
Parser Integrations:
- Integrated the new parsers into the
media_playlist_tag
function to recognize and process the LL-HLS tags during playlist parsing.
- Integrated the new parsers into the
-
Test Additions and Adjustments:
- Added tests to verify the correct parsing and serialization of LL-HLS tags.
- Adjusted existing tests to ensure compatibility with the new LL-HLS features.
Next Steps
- Continue to enhance LL-HLS support by adding more detailed validation and error handling for LL-HLS specific scenarios.
- Optimize performance and ensure full compliance with the latest LL-HLS specifications.