]> Sergey Matveev's repositories - vors.git/commitdiff
Mute toggling API
authorSergey Matveev <stargrave@stargrave.org>
Sun, 14 Apr 2024 09:38:57 +0000 (12:38 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Sun, 14 Apr 2024 09:38:57 +0000 (12:38 +0300)
cmd/client/main.go

index c745deae7edb5fe17c921ab932581fbe2b82272e6b8b64b13b6fe9d44e6443fa..0174268ddfcc397620fde3360084c1164d3f85e27e321694c38d22b7ca70c7a3 100644 (file)
@@ -94,6 +94,7 @@ func main() {
        playCmd := flag.String("play", "play "+soxParams, "play command")
        vadRaw := flag.Uint("vad", 0, "VAD threshold")
        passwd := flag.String("passwd", "", "Protected room's password")
+       muteToggle := flag.String("mute-toggle", "", "Path to FIFO to toggle mute")
        flag.Parse()
        log.SetFlags(log.Lmicroseconds | log.Lshortfile)
 
@@ -103,6 +104,28 @@ func main() {
        }
        *Name = strings.ReplaceAll(*Name, " ", "-")
 
+       go func() {
+               if *muteToggle == "" {
+                       return
+               }
+               for {
+                       fd, err := os.OpenFile(*muteToggle, os.O_WRONLY, os.FileMode(0666))
+                       if err != nil {
+                               log.Fatalln(err)
+                       }
+                       Muted = !Muted
+                       var reply string
+                       if Muted {
+                               reply = "muted"
+                       } else {
+                               reply = "unmuted"
+                       }
+                       fd.WriteString(reply + "\n")
+                       fd.Close()
+                       time.Sleep(time.Second)
+               }
+       }()
+
        vad := uint64(*vadRaw)
        opusEnc := newOpusEnc()
        var mic io.ReadCloser