From 0c387fc19a3f04ee4a4c6e5e942aaeb40294d39c Mon Sep 17 00:00:00 2001 From: Zoe Roux Date: Mon, 1 Apr 2024 17:25:47 +0200 Subject: [PATCH] Fix segments list having a greater length than capacity --- transcoder/src/info.go | 3 ++- transcoder/src/stream.go | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/transcoder/src/info.go b/transcoder/src/info.go index 06643e02..00a969dc 100644 --- a/transcoder/src/info.go +++ b/transcoder/src/info.go @@ -1,6 +1,7 @@ package src import ( + "cmp" "encoding/json" "fmt" "io" @@ -167,7 +168,7 @@ func OrNull(str string) *string { return &str } -func Max(x, y uint32) uint32 { +func Max[T cmp.Ordered](x, y T) T { if x < y { return y } diff --git a/transcoder/src/stream.go b/transcoder/src/stream.go index 10a88ea9..abb8a2cc 100644 --- a/transcoder/src/stream.go +++ b/transcoder/src/stream.go @@ -68,7 +68,7 @@ func NewStream(file *FileStream, handle StreamHandle, ret *Stream) { ret.heads = make([]Head, 0) length, is_done := file.Keyframes.Length() - ret.segments = make([]Segment, length, 2000) + ret.segments = make([]Segment, length, Max(length, 2000)) for seg := range ret.segments { ret.segments[seg].channel = make(chan struct{}) }