From 91c320770bfdca0d2c240b2df9955241613913d7 Mon Sep 17 00:00:00 2001 From: cnderrauber Date: Tue, 20 Feb 2024 11:57:38 +0800 Subject: [PATCH] Replace reflect.Equal with generic sliceEqual (#2494) * Replace reflect.Equal with generic sliceEqual * Use library function --- .../dependencydescriptorwriter.go | 22 ++++--------------- 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/pkg/sfu/dependencydescriptor/dependencydescriptorwriter.go b/pkg/sfu/dependencydescriptor/dependencydescriptorwriter.go index bd7da49e3..d392c90a3 100644 --- a/pkg/sfu/dependencydescriptor/dependencydescriptorwriter.go +++ b/pkg/sfu/dependencydescriptor/dependencydescriptorwriter.go @@ -16,7 +16,8 @@ package dependencydescriptor import ( "fmt" - "reflect" + + "golang.org/x/exp/slices" ) type TemplateMatch struct { @@ -126,26 +127,11 @@ func (w *DependencyDescriptorWriter) findBestTemplate() error { return nil } -// TODO: uncomment this when go 1.18 enabled -// func sliceEqual[T comparable](a, b []T) bool { -// if len(a) != len(b) { -// return false -// } - -// for i, v := range a { -// if v != b[i] { -// return false -// } -// } - -// return true -// } - func (w *DependencyDescriptorWriter) calculateMatch(idx int, template *FrameDependencyTemplate) TemplateMatch { var result TemplateMatch result.TemplateIdx = idx - result.NeedCustomFdiffs = w.descriptor.FrameDependencies.FrameDiffs != nil && !reflect.DeepEqual(w.descriptor.FrameDependencies.FrameDiffs, template.FrameDiffs) - result.NeedCustomDtis = w.descriptor.FrameDependencies.DecodeTargetIndications != nil && !reflect.DeepEqual(w.descriptor.FrameDependencies.DecodeTargetIndications, template.DecodeTargetIndications) + result.NeedCustomFdiffs = w.descriptor.FrameDependencies.FrameDiffs != nil && !slices.Equal(w.descriptor.FrameDependencies.FrameDiffs, template.FrameDiffs) + result.NeedCustomDtis = w.descriptor.FrameDependencies.DecodeTargetIndications != nil && !slices.Equal(w.descriptor.FrameDependencies.DecodeTargetIndications, template.DecodeTargetIndications) for i := 0; i < w.structure.NumChains; i++ { if w.activeChains&(1<