Commit Briefs

62d865db86 Oliver Lowe

m3u8: de-indent happy key, playlist parse path (main)

Everything else are essentially guard statements


3df4029f13 Oliver Lowe

m3u8: unexport, use consistent timestamp layout (tags/v0.0.3)

The layout is meant to be used internally; the external interface is regular time.Time values.


a5e36fbfb6 Oliver Lowe

m3u8: define segment parsing once

It's a bit of a hack that we read one item too many from the lexer. This change modifies segment parsing by sending the already consumed lexer items and subsequent lexer items back through another channel. Maintaining the original order through a channel means we can parse a segment in a single loop. Much shorter than dealing with the first item and all other items separately. This puts off looking into any redesigns of the lexer. For now...?



4c423c95b5 Oliver Lowe

m3u8: include source of playlist

So we all know where it comes from if we want to get more.


3e2200b9e7 Oliver Lowe

m3u8: parse EXT-X-PROGRAM-DATE-TIME tag


9d0a9c380c Oliver Lowe

m3u8: support parsing EXT-X-MAP tag


a30e111bb1 Oliver Lowe

m3u8: support parsing segment keys


1146e3cfa5 Oliver Lowe

m3u8: add validation to segment parsing tests

Tests fail, but at least we have exposed the bugs


e5a2561859 Oliver Lowe

m3u8: ignore trailing commas, support quoted string attributes

Playlist from https://test-streams.mux.dev/dai-discontinuity-deltatre/manifest.m3u8 containing discontinuities exposed the bugs.


3083e3dd1c Oliver Lowe

m3u8: enable toggling lexer debug output


5b0199e067 Oliver Lowe

m3u8: add higher-level variant test

We weren't really testing whether variants we parse from a playlist were what we expect. References: https://github.com/untangledco/streaming/issues/34


a2109c70b8 Oliver Lowe

m3u8: test more bad resolutions

We don't necessarily need to make it easier to specify Variant test cases, we can pick the already easy-to-test bits of Variant to make better. References: https://github.com/untangledco/streaming/issues/34


18185121cc Oliver Lowe

avhelp: delete (tags/v0.0.2)

The idea was to have a little playground using the packages we developed. But it didn't really turn out to be useful.


c782d7505d Oliver Lowe

m3u8: parse media sequence in one hit

Since we're just parsing an integer we can just try to parse the next token from the lexer, like how we parse the playlist version.



b3f3a7ccc9 Oliver Lowe

readme: green is good


64b08e1e5f Oliver Lowe

internal/sip: extract containsSpace function (tags/v0.0.1)

We'll need it later and we're a few nested for loops and if stmts down so a little cleaner once we do this a few more times.


5740e5eef1 Oliver Lowe

sip: handle To, From fields in the header with their own type

Now we handle the tag header parameter, and all the different forms the values of To and From can have.


ef08e53ee3 Oliver Lowe

sip: validate Via header field on writing requests


707b0c4f5f Oliver Lowe

sip: write body of request only when it's non-nil

duh


f62ba45806 Oliver Lowe

internal/sip: correctly format and write requests


52f2be3f00 Oliver Lowe

internal/sip: initial little testing


c29a1e336e Oliver Lowe

Unpublish draft jxs package

Not ready... if ever?


c5209d277a Oliver Lowe

mpegts: test for expected PCR base, extension values

Parsing the base and extension ticks of the PCR was actually incorrect. Whilst we were consistently storing and decoding values, they were incorrect values. This patch adds tests which concretely exposed the bug spotted by @kevmo314. Thanks again!