run audio extraction

This commit is contained in:
Dmitry Sergeev
2026-09-17 20:14:41 +03:00
parent eeb13c3bd4
commit 07769859f7
4 changed files with 219 additions and 203 deletions
+31
View File
@@ -0,0 +1,31 @@
package audio
import (
"testing"
"github.com/qvest-digital/go-mxl/mxl"
)
func TestBatchSize(t *testing.T) {
tests := []struct {
name string
rate mxl.Rational
want uint64
}{
{name: "44.1 kHz", rate: mxl.Rational{Num: 44100, Den: 1}, want: 441},
{name: "48 kHz", rate: mxl.Rational{Num: 48000, Den: 1}, want: 480},
{name: "96 kHz", rate: mxl.Rational{Num: 96000, Den: 1}, want: 960},
{name: "192 kHz", rate: mxl.Rational{Num: 192000, Den: 1}, want: 1920},
{name: "minimum", rate: mxl.Rational{Num: 1, Den: 1}, want: 1},
{name: "zero numerator", rate: mxl.Rational{Num: 0, Den: 1}, want: 1},
{name: "zero denominator", rate: mxl.Rational{Num: 48000, Den: 0}, want: 1},
}
for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
if got := batchSize(tc.rate); got != tc.want {
t.Fatalf("batchSize(%d/%d) = %d, want %d", tc.rate.Num, tc.rate.Den, got, tc.want)
}
})
}
}