package gateway import ( "errors" protocol "git.sechmachine.io.vn/sechmachine/VerseVDI-Protocol/gen/go/protocol" ) var ErrNoCapabilityOverlap = errors.New("no capability overlap") func DefaultCapabilities() protocol.CapabilityProfile { return protocol.CapabilityProfile{ Transport: "quic-tls13", Framing: "datagram-v2", Media: "encoded", Audio: "encoded", SourceRateControl: "server", ClientDecode: []string{"hevc-opus", "h264-opus"}, } } func capabilityProfileUnset(profile protocol.CapabilityProfile) bool { return profile.Transport == "" && profile.Framing == "" && profile.Media == "" && profile.Audio == "" && profile.SourceRateControl == "" && len(profile.ClientDecode) == 0 } func IntersectCapabilities(profiles ...protocol.CapabilityProfile) (protocol.CapabilityProfile, error) { selected, err := protocol.IntersectCapabilityProfiles(profiles...) if err != nil { return protocol.CapabilityProfile{}, ErrNoCapabilityOverlap } return selected, nil }