return byte(n)
}
-func makeCmd(cmd string) *exec.Cmd {
- args := strings.Fields(cmd)
- if len(args) == 1 {
- return exec.Command(args[0])
- }
- return exec.Command(args[0], args[1:]...)
-}
-
func incr(data []byte) {
for i := len(data) - 1; i >= 0; i-- {
data[i]++
panic("overflow")
}
-const soxParams = "--no-show-progress --buffer 1920 --channels 1 --endian little --encoding signed --rate 48000 --bits 16 --type raw -"
-
func main() {
srvAddr := flag.String("srv", "vors.home.arpa:"+strconv.Itoa(vors.DefaultPort),
"host:TCP/UDP port to connect to")
srvPubB64 := flag.String("pub", "", "server's public key, Base64")
- recCmd := flag.String("rec", "rec "+soxParams, "rec command")
- playCmd := flag.String("play", "play "+soxParams, "play command")
+ recCmd := flag.String("rec", "rec "+vors.SoxParams, "rec command")
+ playCmd := flag.String("play", "play "+vors.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")
opusEnc := newOpusEnc()
var mic io.ReadCloser
if *recCmd != "" {
- cmd := makeCmd(*recCmd)
+ cmd := vors.MakeCmd(*recCmd)
mic, err = cmd.StdoutPipe()
if err != nil {
log.Fatal(err)
playerTx := make(chan []byte, 5)
var cmd *exec.Cmd
if *playCmd != "" {
- cmd = makeCmd(*playCmd)
+ cmd = vors.MakeCmd(*playCmd)
player, err = cmd.StdinPipe()
if err != nil {
log.Fatal(err)