From 82a7949a64961c29a6e191110e6df054a40adc8a Mon Sep 17 00:00:00 2001 From: Fernando Partida Date: Thu, 6 Feb 2025 15:57:45 -0600 Subject: [PATCH 1/3] feat: get zencoder/chrono --- go.mod | 8 ++++++-- go.sum | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/go.mod b/go.mod index 5d30ca7..92fddd8 100644 --- a/go.mod +++ b/go.mod @@ -4,10 +4,14 @@ go 1.23 toolchain go1.23.2 -require github.com/Comcast/scte35-go v1.4.6 +require ( + github.com/Comcast/scte35-go v1.4.6 + github.com/go-chrono/chrono v0.0.0-20250124203826-0422557264a6 +) + +replace github.com/go-chrono/chrono v0.0.0-20250124203826-0422557264a6 => github.com/zencoder/chrono v0.0.0-20250206215435-caf544c317b8 require ( github.com/bamiaux/iobit v0.0.0-20170418073505-498159a04883 // indirect - github.com/go-chrono/chrono v0.0.0-20250124203826-0422557264a6 // indirect golang.org/x/text v0.16.0 // indirect ) diff --git a/go.sum b/go.sum index ebbdccd..3d2548d 100644 --- a/go.sum +++ b/go.sum @@ -4,12 +4,12 @@ github.com/bamiaux/iobit v0.0.0-20170418073505-498159a04883 h1:XNtOMwxmV2PI/vuTH github.com/bamiaux/iobit v0.0.0-20170418073505-498159a04883/go.mod h1:9IjZnSQGh45J46HHS45pxuMJ6WFTtSXbaX0FoHDvxh8= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/go-chrono/chrono v0.0.0-20250124203826-0422557264a6 h1:bZajBUDqyayXRqKAD/wX8AVPOeuFvwLAwTZFCvWnohs= -github.com/go-chrono/chrono v0.0.0-20250124203826-0422557264a6/go.mod h1:uTWQdzrjtft2vWY+f+KQ9e3DXHsP0SzhE5SLIicFo08= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/zencoder/chrono v0.0.0-20250206215435-caf544c317b8 h1:n+6tdnT5G9v550Vj+xtQl8+7YI4OZgVCUXtBb+RNp+4= +github.com/zencoder/chrono v0.0.0-20250206215435-caf544c317b8/go.mod h1:uTWQdzrjtft2vWY+f+KQ9e3DXHsP0SzhE5SLIicFo08= golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= From aeea6ea81dff99161985da0d7592b8d19bd8c44a Mon Sep 17 00:00:00 2001 From: Fernando Partida Date: Thu, 6 Feb 2025 15:58:12 -0600 Subject: [PATCH 2/3] chore: add failing test --- mpd/duration_test.go | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/mpd/duration_test.go b/mpd/duration_test.go index a7c931d..3ee94e0 100644 --- a/mpd/duration_test.go +++ b/mpd/duration_test.go @@ -10,11 +10,13 @@ import ( func TestDuration(t *testing.T) { in := map[string]string{ - "0.5ms": "PT0.0005S", - "7ms": "PT0.007S", - "0s": "PT0S", - "6m16s": "PT6M16S", - "1.97s": "PT1.97S", + "0.5ms": "PT0.0005S", + "7ms": "PT0.007S", + "0s": "PT0S", + "6m16s": "PT6M16S", + "1.97s": "PT1.97S", + "4988000000ns": "PT4.988S", + "2h4m30s7ms": "PT2H4M30.007S", } for ins, ex := range in { t.Run(ins, func(t *testing.T) { From fe44db1b4a271a2d824fdc62b0d2253c42e7c82b Mon Sep 17 00:00:00 2001 From: Fernando Partida Date: Thu, 6 Feb 2025 15:58:25 -0600 Subject: [PATCH 3/3] feat: ser custom fmt/prec --- mpd/duration.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mpd/duration.go b/mpd/duration.go index be973c7..65be776 100644 --- a/mpd/duration.go +++ b/mpd/duration.go @@ -33,6 +33,8 @@ func (d *Duration) String() string { return "PT0S" } + chrono.Fmt, chrono.Prec = 'g', 11 + return chrono.DurationOf(chrono.Extent(*d)).String() }