Commit Briefs
internal/sip: extract containsSpace function (main, 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.
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.
Unpublish draft jxs package
Not ready... if ever?
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!
fix incorrect pcr base calculation
Fixes the base calculation by removing the 7 rightmost reserved and extension bits.
wav: support format extension field
It's an optional field, but aucat(1) from OpenBSD creates files with this field populated so I feel like it may not be that obscure in the wild.
delete dummy ptp package
We can create it when we want to create it. Think this was accidentally added by me, sorry!
Advertise zero dependencies
Because it’s a distinguishing feature of the project!
scte35: support decoding private commands
Resolves: https://github.com/untangledco/streaming/issues/29
pcap: export Encode, Decode functions
Use Go's io.Reader and io.Writer so that we don't have to keep everything in memory, and it works in a way that Go programmers are familiar with.
m3u8: clarify purpose of some sample playlists
Big Buck Bunny is the classic test sample for a lot of video dev work. tos.m3u8 is here because it is a valid playlist containing lots of comments and empty lines. Unusual, but still a valid playlist; hoping it will help catch bugs in our parser's handling of comments and whitespace.
sdp: only apply TTL field to ipv4 connections
As per section 5.7 of RFC 8866: "IP6" multicast does not use TTL scoping, and hence the TTL value MUST NOT be present for "IP6" multicast. Amends comment to clarify it only applies to IPv4 packets.
sdp: resolve remaining validation, documentation TODOs
No real changes, just notes. Always encode a valid timestamp when session start time is unset but an end time is set. Document the TTL in ConnInfo is a specific property of multicast traffic. No need to impose more structure on session Attributes when the data is pretty free-form anyway (similar to http.Header). Safely round times in session repeat schedules to ensure we never write invalid decimal places.