m3u8 parser for rust
Go to file
Vadim Getmanshchuk 7247e02ee5 Use more specific types for playlist fields and improve parsing/writing
Added
* DateRange struct and implementations
* Parsing DateRange (wasn't parsed due to a typo)
* fn daterange() to parse DateRange
* `write_some_other_attributes` macro
* resolved `FIXME required unless None` for method and iv

Changed / fixed:
* trim_matches() potentially too greedy, replaced with strip_suffix/prefix
* removed a bunch of "Unnecessary qualification", eg `fmt::` for `Display`
* changed `fn extmap()` to use `QuotedOrUnquoted` and `other_attributes`
* `fmt` for `QuotedOrUnquoted` are now printing quoted strings in `"`
* `bool_default_false` macro renamed to `is_yes`
* qualified error message for `quoted_string_parse` and `unquoted_string_parse`
* `other_attributes` now `Option<>`
* `ClosedCaptionGroupId::Other(s)` variant processing added to `write_to`
* `HDCPLevel::Other(s)` variant processing added to `fmt`
* `AlternativeMediaType::Other(s)` variant processing added to `fmt`
* `InstreamId::Other(s)` variant processing added to `fmt`
* `MediaPlaylistType::Other(s)` variant processing added to `fmt`
* `KeyMethod::Other(s)` variant processing added to `fmt`
* included `DateRange` to tests
* included `other_attributes` to tests

Minor:
Typos corrections
rustfmt applied
2022-07-21 10:34:57 +03:00
.github/workflows Check cargo fmt on CI 2021-10-19 19:48:26 +02:00
examples Re-export all types from the crate root and remove the playlist sub-module 2021-11-18 15:00:01 +02:00
sample-playlists Require each M3U8 playlist to start with the #EXTM3U8 tag 2021-11-17 19:14:58 +02:00
src Use more specific types for playlist fields and improve parsing/writing 2022-07-21 10:34:57 +03:00
tests Use more specific types for playlist fields and improve parsing/writing 2022-07-21 10:34:57 +03:00
.gitignore Version 1.0.0 2016-06-03 20:56:45 +02:00
Cargo.toml Update version to 4.0.0 2022-04-13 22:57:56 +02:00
LICENSE LICENSE 2016-06-03 21:25:34 +02:00
masterplaylist.m3u8 Version 1.0.0 2016-06-03 20:56:45 +02:00
mediaplaylist.m3u8 Version 1.0.0 2016-06-03 20:56:45 +02:00
playlist.m3u8 Version 1.0.0 2016-06-03 20:56:45 +02:00
README.md Update readme 2022-04-09 12:59:07 +02:00

m3u8-rs

crates.io API

A Rust library for parsing m3u8 playlists (HTTP Live Streaming) link. Uses the nom library for all of the parsing.

Examples

Examples can be found in the examples folder.