m3u8-rs icon indicating copy to clipboard operation
m3u8-rs copied to clipboard

DRAFT: Initial Support for LL-HLS

Open JuanMorenoS opened this issue 9 months ago • 3 comments

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

  1. 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.
  2. Updated MediaPlaylistTag Enum:

    • Extended the MediaPlaylistTag enum to include variants for the new LL-HLS tags.
  3. Enhanced media_playlist_from_tags Function:

    • Updated the media_playlist_from_tags function to properly handle and integrate the new LL-HLS tags into the MediaPlaylist structure.
    • Ensured Part segments are correctly added to the parts field of MediaSegment.
  4. Parser Integrations:

    • Integrated the new parsers into the media_playlist_tag function to recognize and process the LL-HLS tags during playlist parsing.
  5. 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.

JuanMorenoS avatar May 21 '24 20:05 JuanMorenoS