Commit Briefs

74364bb7c3 Oliver Lowe

m3u8: put hlsserve with all the other commands (main)


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



2019fa0504 Oliver Lowe

sdp: parse IP addresses as netip.Addr

Using Addr, we don't have to keep track of the address type ourselves. We also get a guarantee that the values are actually valid IP addresses.


6c87f53754 Oliver Lowe

sdp: make the empty Origin Username useful

One less thing for users to worry about, and we'll always encode a valid value.


e6908ad178 Oliver Lowe

pcap: support only current savefile version

Reduces the stuff our package exposes. As a bonus we actually return an error if somehow we try to decode a file we may not be able to safely such as older, newer or invalid versions.


48bf5f705f Oliver Lowe

pcap: ignore unused global header fields

From pcap-savefile(5) for both the fields: > SHOULD be filled with 0 by pcap file writers, and MUST be ignored by > pcap file readers.


b4fa198b81 Oliver Lowe

pcap: name testing data directory the usual name

While here name pcap file based on its actual contents.


98958a8b50 Oliver Lowe

pcap: test for expected values

Checking just the number of elements in a slice, then eyeballing printed output is prone to human error.


de0ee9781f Oliver Lowe

pcap: rename parser.go to pcap

There's no mention of any parsers, and we only have one file containing both encoding and decoding pcap data.


ac0bbf61fe Oliver Lowe

pcap: drop superfluous endianness payload encode

Because it's just a slice of bytes, endianness does not apply.


46154743ac Oliver Lowe

pcap: decode magic number once

Otherwise we're dealing with it twice when binary.Read does what we need already.


3d44323d83 Oliver Lowe

pcap: use data slice length to set length in header

One less thing to keep in sync.


2891cccd2f Oliver Lowe

pcap: store packet timestamp as a time.Time

Easier to work with.