Skip to content

Commit

Permalink
Update documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
VixieTSQ committed May 21, 2024
1 parent 2e835a0 commit 784e2b9
Show file tree
Hide file tree
Showing 6 changed files with 276 additions and 214 deletions.
27 changes: 27 additions & 0 deletions .github/workflows/rust-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Rust CI

on:
push:
branches:
- main
pull_request:
branches:
- main

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Set up rust
uses: actions/checkout@v2
- name: Install cargo-audit
run: cargo install cargo-audit
- name: Build
run: cargo build --verbose
- name: Test
run: cargo test --verbose
- name: Clippy
run: cargo clippy --verbose -- -D warnings
- name: Audit
run: cargo audit
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "hls-playlist"
description = "A library for parsing HLS playlists (aka extended M3U playlists)."
description = "A library for serializing and deserializing HLS playlists (aka extended M3U playlists)."
version = "0.1.0"
edition = "2021"
authors = ["Logan Wemyss"]
Expand Down
26 changes: 21 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,32 @@
# HLS Playlist

A library for parsing HLS playlists (aka extended M3U playlists).
A library for serializing and deserializing HLS playlists (aka extended M3U playlists).

As specified by [this updated version of RFC 8216](https://datatracker.ietf.org/doc/html/draft-pantos-hls-rfc8216bis).

## Usage

TODO
```rust
use hls_playlist::tags::Tag;

let mut output = vec![];

Tag::M3u.serialize(&mut output).unwrap();
Tag::XStart { offset_seconds: 10.0, is_precise: false }.serialize(&mut output).unwrap();

assert_eq!(String::from_utf8(output).unwrap(), "\
#EXTM3U
#EXT-X-START:TIME-OFFSET=10
");
```

## Roadmap

This library is 100% finished and feature-complete as far as I'm aware with the exception of deserializing playlists.
This library is 100% finished and feature-complete as far as serializing tags goes, but I'd like to eventually implement a serializer for the higher level playlist representation, and also deserialization.

- [x] Serialization
- [ ] Deserialization
- [x] Serialize steering manifest
- [x] Serialize tags
- [ ] Serialize playlist
- [ ] Deserialize steering manifest
- [ ] Deserialize tags
- [ ] Deserialize playlist
Loading

0 comments on commit 784e2b9

Please sign in to comment.