Commit Briefs

64b08e1e5f Oliver Lowe

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.


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!


889b534a51 Oliver Lowe

fix incorrect pcr base calculation

Fixes the base calculation by removing the 7 rightmost reserved and extension bits.


a0d3d6fb41 Oliver Lowe

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.


d0a2114cd0 Oliver Lowe

add package for WAVE files


74364bb7c3 Oliver Lowe

m3u8: put hlsserve with all the other commands


15e217461a Oliver Lowe

delete dummy ptp package

We can create it when we want to create it. Think this was accidentally added by me, sorry!


34d647b964 Oliver Lowe

fix: play rate as decimal


b80fe72bf0 GitHub

Advertise zero dependencies

Because it’s a distinguishing feature of the project!


c09ddbced0 Oliver Lowe

rtp: let test session only accept local connections


52483617f8 Oliver Lowe

scte35: support decoding private commands

Resolves: https://github.com/untangledco/streaming/issues/29


3b1acc9102 Oliver Lowe

rtp: finish header length documentation


f7c6ae15d8 Oliver Lowe

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.



7c79b05479 Oliver Lowe

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.


fa32a75741 Oliver Lowe

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.


96a874b067 Oliver Lowe

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.


8d2c4bc42d Oliver Lowe

rtp: correct string values for PCM audio payload types