videojs / http-streaming

HLS, DASH, and future HTTP streaming protocols library for video.js
https://videojs-http-streaming.netlify.app/
Other
2.45k stars 418 forks source link

feat: Content Steering HLS Pathway Cloning #1432

Closed wseymour15 closed 8 months ago

wseymour15 commented 9 months ago

Description

Implementation for HLS Pathway cloning for content steering. See the spec here: https://datatracker.ietf.org/doc/draft-pantos-hls-rfc8216bis/

Whenever we get a response from the content server with a PATHWAY-CLONES array, we need to add, update, or delete playlists and media based on the data we receive. A pathway clone object tells us information about a new pathway that should be created/updated based off of another pathway.

Specific Changes proposed

Requirements Checklist

codecov[bot] commented 9 months ago

Codecov Report

Merging #1432 (2e484f0) into main (dd5e2af) will decrease coverage by 0.66%. Report is 6 commits behind head on main. The diff coverage is 98.70%.

@@            Coverage Diff             @@
##             main    #1432      +/-   ##
==========================================
- Coverage   85.98%   85.33%   -0.66%     
==========================================
  Files          42       42              
  Lines       10428    12305    +1877     
  Branches     2412     2928     +516     
==========================================
+ Hits         8967    10501    +1534     
- Misses       1461     1804     +343     
Files Coverage Δ
src/content-steering-controller.js 99.45% <100.00%> (+0.02%) :arrow_up:
src/manifest.js 93.57% <100.00%> (ø)
src/playlist-loader.js 96.26% <100.00%> (+1.06%) :arrow_up:
src/playlist-controller.js 95.78% <95.34%> (-0.03%) :arrow_down:

... and 2 files with indirect coverage changes

:mega: Codecov offers a browser extension for seamless coverage viewing on GitHub. Try it in Chrome or Firefox today!