1
0
mirror of https://github.com/stryan/mumble-discord-bridge.git synced 2024-11-23 05:45:41 -05:00

Merge pull request #5 from Stieneee/issue-4

This commit is contained in:
Tyler Stiene 2021-01-04 21:28:35 -05:00 committed by GitHub
commit 43cc6ad672
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 24 additions and 3 deletions

View File

@ -153,10 +153,24 @@ func discordReceivePCM(v *discordgo.VoiceConnection, die chan bool) {
OnError("Error decoding opus data", err) OnError("Error decoding opus data", err)
continue continue
} }
if len(p.PCM) != 960 {
log.Println("Opus size error")
continue
}
discordMutex.Lock() discordMutex.Lock()
fromDiscordMap[p.SSRC].pcm <- p.PCM[0:480] select {
fromDiscordMap[p.SSRC].pcm <- p.PCM[480:960] case fromDiscordMap[p.SSRC].pcm <- p.PCM[0:480]:
default:
log.Println("fromDiscordMap buffer full. Dropping packet")
discordMutex.Unlock()
continue
}
select {
case fromDiscordMap[p.SSRC].pcm <- p.PCM[480:960]:
default:
log.Println("fromDiscordMap buffer full. Dropping packet")
}
discordMutex.Unlock() discordMutex.Unlock()
} }
} }

View File

@ -9,6 +9,7 @@ import (
"os" "os"
"os/signal" "os/signal"
"strconv" "strconv"
"syscall"
"time" "time"
"github.com/bwmarrin/discordgo" "github.com/bwmarrin/discordgo"
@ -88,6 +89,12 @@ func main() {
log.Fatalln("missing discord cid") log.Fatalln("missing discord cid")
} }
// Attempt to set the nice value of the process
err := syscall.Setpriority(syscall.PRIO_PROCESS, os.Getpid(), -5)
if err != nil {
log.Println("Unable to set priority. ", err)
}
// DISCORD Setup // DISCORD Setup
discord, err := discordgo.New("Bot " + *discordToken) discord, err := discordgo.New("Bot " + *discordToken)
@ -131,7 +138,7 @@ func main() {
tlsConfig.InsecureSkipVerify = true tlsConfig.InsecureSkipVerify = true
} }
mumble, err := gumble.DialWithDialer(new(net.Dialer),*mumbleAddr+":"+strconv.Itoa(*mumblePort),config, &tlsConfig) mumble, err := gumble.DialWithDialer(new(net.Dialer), *mumbleAddr+":"+strconv.Itoa(*mumblePort), config, &tlsConfig)
if err != nil { if err != nil {
log.Println(err) log.Println(err)