rutgersc / m3u8-rs

m3u8 parser for rust
MIT License
99 stars 23 forks source link

DRAFT: Initial Support for LL-HLS #74

Open JuanMorenoS opened 4 months ago

JuanMorenoS commented 4 months ago

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

JeWe37 commented 2 weeks ago

Hey, are there any plans to finish this up? If not, would you mind me taking this over, looking at fixing up some of the comments and getting this ready to merge?

rutgersc commented 2 weeks ago

I don't think there are any plans, by the looks of it. Feel free to make the changes.

JuanMorenoS commented 2 weeks ago

Sorry guys, I’ve been a bit busy with work, feel free to make the necessary changes to merge this up :)