Commit graph

21 commits

Author SHA1 Message Date
mister-ben
ba6e7cbafe
feat: add support for #EXT-X-DEFINE (#185)
* feat: add support for EXT-X-DEFINE

* tests

* readme

* cleanup

* work with relative URLs

* missing return

* fix typo

Co-authored-by: Dzianis Dashkevich <98566601+dzianis-dashkevich@users.noreply.github.com>

* lint

* lint

---------

Co-authored-by: Dzianis Dashkevich <98566601+dzianis-dashkevich@users.noreply.github.com>
2024-08-21 18:10:14 +02:00
André M.
e5dbdb6288
feat: add support for #EXT-X-I-FRAMES-ONLY (#173)
* feat: add support for #EXT-X-I-FRAMES-ONLY

Handles I-frames-only `segments`, providing a basis for the creation of trick-play functionality.

**parse-stream.js**

- add match statement for parsing the `EXT-X-I-FRAMES-ONLY` tag
- add test case

**parser.js**

- add a property `iFramesOnly` to the `manifest`
- add a function to validate the minimum version required
- trigger a `warn` event if the minimum version required is not supported or undefined, as required by the specification
- add test case

https://datatracker.ietf.org/doc/html/rfc8216#section-4.3.3.6

- update `README.md` documentation

* Update src/parse-stream.js

* Update test for #171 changes

---------

Co-authored-by: mister-ben <1676039+mister-ben@users.noreply.github.com>
2024-08-16 17:49:27 +02:00
André M
990c6ced71
feat: add support for #EXT-X-I-FRAME-STREAM-INF (#171)
* feat: add support for #EXT-X-I-FRAME-STREAM-INF

Exposes I-frame playlists through the `iFramePlaylists` property, providing a basis for the creation of trick-play functionality.

**parse-stream.js**

- add match statement for parsing the `EXT-X-I-FRAME-STREAM-INF` tag
  - apply type conversions as indicated in the specification for attributes `BANDWIDTH`, `AVERAGE-BANDWIDTH`, `FRAME-RATE`
  - overwrite the `RESOLUTION` attribute with an object representing the resolution
- extract a function to parse the `RESOLUTION`
- add test case

https://datatracker.ietf.org/doc/html/rfc8216#section-4.3.4.2

**parser.js**

- add an array property `iFramePlaylists` to the `manifest`
- add each `i-frame playlist` to `iFramePlaylists`
- trigger a `warn` event if the `BANDWIDTH` or `URI` attributes are missing, as required by the specification
- add test case

https://datatracker.ietf.org/doc/html/rfc8216#section-4.3.4.3

- update `master-fmp4.js` to add `iFramePlaylists`
- update `README.md` documentation

* test: update fixtures to take iFramePlaylists property into account

* refactor(stream-inf): uses the parseResolution function to extract a resolution object

---------

Co-authored-by: mister-ben <1676039+mister-ben@users.noreply.github.com>
2024-07-06 07:41:01 +01:00
Adam Waldron
42472c5979
feat: parse content steering tags and attributes (#176) 2023-08-07 09:19:35 -07:00
Harisha Rajam Swaminathan
73d934ce58
fix: merge dateRange tags with same IDs and no conflicting attributes (#175) 2023-08-07 11:58:23 -04:00
Harisha Rajam Swaminathan
e7c683f5f6
feat: Add PDT to each segment (#168) 2023-07-07 15:10:40 -04:00
Harisha Rajam Swaminathan
516ab67d17
fix: rename daterange to dateRanges (#166) 2023-06-28 14:14:06 -04:00
Adam Waldron
8c47d81a6c
feat: add independent-segments support (#165) 2023-05-22 21:34:13 -07:00
hswaminathan
33b24c4cb5 add support for multiple daterange tags and add tests 2023-04-22 01:07:58 -04:00
hswaminathan
1124e08af5 update docs, add warning and tests 2023-04-20 21:58:49 -04:00
hswaminathan
9e4c3ad0ba add test 2023-04-18 16:01:23 -04:00
hswaminathan
5a76ec0716 remove comment 2023-04-18 15:35:19 -04:00
hswaminathan
8059d61a73 Add support for Daterange 2023-04-18 00:47:17 -04:00
Essk
8d56f30c4d
fix: non standard tag match (#156)
Prevent non-standard tags from being erroneously matched as standard tags by enforcing the colon tag delimiter

BREAKING CHANGE: Missing colon (:) tag delimiters are no longer supported
Closes #22
2022-09-27 17:05:11 +01:00
Brandon Casey
4e7c9ebdc1
fix: EXT-X-KEY support playready keyformat (#143) 2021-06-15 13:24:18 -04:00
Brandon Casey
9f62c85ef0
fix: ignore fairplay content protection (#140) 2021-05-19 10:41:24 -04:00
Brandon Casey
31ed0528b1
refactor: llhls attributes to camel case (#138) 2021-03-04 13:32:52 -05:00
Brandon Casey
2c2dffe68f
feat(llhls): preloadSegment, associate parts/preloadHints with segments, unify byterange handling (#137) 2021-03-04 13:06:25 -05:00
Brandon Casey
4f4da3d52b
feat: add warn/info triggers and defaults for ll-hls tags (#131) 2021-01-22 13:06:53 -05:00
Brandon Casey
8f69b457cb chore: switch to rollup-plugin-data-files (#130) 2021-01-21 12:00:39 -05:00
Brandon Casey
e86dcae09d
test: move tests around (#129) 2021-01-21 11:57:57 -05:00