Kirika/audio/format/alac/libalac_test.go
2022-04-23 20:41:14 +02:00

78 lines
1.3 KiB
Go

//go:build !disable_format_alac && enable_codec_libalac
// +build !disable_format_alac,enable_codec_libalac
package alac
import (
"git.gammaspectra.live/S.O.N.G/Kirika/audio/format/flac"
"git.gammaspectra.live/S.O.N.G/Kirika/test"
"os"
"testing"
)
func TestEncodeALAC(t *testing.T) {
t.Parallel()
fp, err := os.Open(test.TestSingleSample24)
if err != nil {
t.Error(err)
return
}
defer fp.Close()
source, err := flac.NewFormat().Open(fp)
if err != nil {
t.Error(err)
return
}
target, err := os.CreateTemp("/tmp", "encode_test_*.m4a")
if err != nil {
t.Error(err)
return
}
defer func() {
name := target.Name()
target.Close()
os.Remove(name)
}()
options := make(map[string]interface{})
options["bitdepth"] = 24
err = NewFormat().Encode(source, target, options)
if err != nil {
t.Error(err)
return
}
}
func TestDecodeALAC(t *testing.T) {
t.Parallel()
fp, err := os.Open(test.TestSingleSample24)
if err != nil {
t.Error(err)
return
}
defer fp.Close()
source, err := flac.NewFormat().Open(fp)
if err != nil {
t.Error(err)
return
}
target, err := os.Open(test.TestSingleSampleALACMP4)
if err != nil {
t.Error(err)
return
}
source, err = NewFormat().Open(target)
if err != nil {
t.Error(err)
return
}
for range source.Blocks {
}
}