package gumbleutil import ( "time" "github.com/layeh/gumble/gumble" ) var autoBitrate = &Listener{ Connect: func(e *gumble.ConnectEvent) { if e.MaximumBitrate != nil { const safety = 5 interval := e.Client.Config.AudioInterval dataBytes := (*e.MaximumBitrate / (8 * (int(time.Second/interval) + safety))) - 32 - 10 e.Client.Config.AudioDataBytes = dataBytes } }, } // AutoBitrate is a gumble.EventListener that automatically sets the client's // AudioDataBytes to suitable value, based on the server's bitrate. var AutoBitrate gumble.EventListener func init() { AutoBitrate = autoBitrate }