diff --git a/internal/bridge/bridge.go b/internal/bridge/bridge.go index 20917b1..c401949 100644 --- a/internal/bridge/bridge.go +++ b/internal/bridge/bridge.go @@ -210,7 +210,7 @@ func (b *BridgeState) StartBridge() { b.DiscordStream.discordSendPCM(ctx, cancel, toDiscord) }() - // Monitor Mumble + // Monitor wg.Add(1) go func() { defer wg.Done() diff --git a/internal/bridge/discord.go b/internal/bridge/discord.go index 7cf3f01..2f41f6a 100644 --- a/internal/bridge/discord.go +++ b/internal/bridge/discord.go @@ -110,7 +110,11 @@ func (dd *DiscordDuplex) discordSendPCM(ctx context.Context, cancel context.Canc lastReady = true readyTimeout.Stop() } else { - dd.Bridge.DiscordVoice.OpusSend <- opus + select { + case dd.Bridge.DiscordVoice.OpusSend <- opus: + case <-ctx.Done(): + } + promDiscordSentPackets.Inc() } dd.Bridge.DiscordVoice.RWMutex.RUnlock() diff --git a/internal/bridge/prom.go b/internal/bridge/prom.go index 545b7a0..af56eb8 100644 --- a/internal/bridge/prom.go +++ b/internal/bridge/prom.go @@ -85,7 +85,7 @@ var ( promDiscordReceivedPackets = promauto.NewCounter(prometheus.CounterOpts{ Name: "mdb_discord_received_count", - Help: "The number of received packed from Discord", + Help: "The number of received packets from Discord", }) promDiscordSentPackets = promauto.NewCounter(prometheus.CounterOpts{