m3u8-rs
m3u8-rs copied to clipboard
m3u8 parser for rust
Fixes https://github.com/rutgersc/m3u8-rs/issues/55
```rust const PLAYLIST: &str = r"#EXTM3U #EXT-PLAYLIST-UNKNOWN-TAG #EXT-X-TARGETDURATION:10 #EXT-SEGMENT-UNKNOWN-TAG #EXTINF:10, seg-1.ts #EXT-SEGMENT-UNKNOWN-TAG #EXTINF:10, seg-2.ts #EXT-X-ENDLIST "; fn main() { let mut playlist = m3u8_rs::parse_media_playlist_res(PLAYLIST.as_bytes()).unwrap(); println!( "{:#?}\n{:-^40}\n{:#?}\n{:-^40}", playlist.unknown_tags, "-", playlist.segments[0].unknown_tags, "-"...
See [4.4.4.2](https://datatracker.ietf.org/doc/html/draft-pantos-hls-rfc8216bis-10#section-4.4.4.2): ``` If o is not present, the sub-range begins at the next byte following the sub-range of the previous Media Segment. ``` and also ``` If o is...
MediaPlaylist unknown_tag should be serialized I suggest to serialize unknown_tag before the serialization of the list of segments
Hi, I recently upgraded from `3.0.0` to `5.0.3` and now my audio playlist ends up in `unknown_tags` instead of in `alternatives`. What am I doing wrong? Here is the master...
@sdroege how does this approach sound to you?
#### 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...
Continuation of #74. This fixes your comments, with the exception of the one regarding byte ranges. The reason is that it isn't really feasible to share the implementation. The `from_str`...
Why need this change? * When parsing and then building the m3u8 below, some `#EXT-X-KEY` tags are missing. ``` #EXTM3U #EXT-X-VERSION:6 #EXT-X-TARGETDURATION:11 #EXT-X-PLAYLIST-TYPE:VOD #EXT-X-MAP:URI="5d9aec6dea24.mp4",BYTERANGE="3327@0" #EXTINF:4.338, #EXT-X-BYTERANGE:61342@3383 5d9aec6dea24.mp4 #EXTINF:4.505, #EXT-X-BYTERANGE:83830 5d9aec6dea24.mp4...
old url 404