/
audiopackagereader.go
57 lines (54 loc) · 1.28 KB
/
audiopackagereader.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package gomble
//import "gomble/logger"
//const (
// CELTAplha = iota
// Ping = iota
// Speex = iota
// CELTBeta = iota
// OPUS = iota
//)
//
//type UDPPackageType byte
//// UDP Audio read routine. It receives Audio packages and udp ping packets from mumble-server
//func audioReadRoutine() {
// for {
// err := audioReadPackage()
// if err != nil {
// logger.Fatal("audioReadPackage error: " + err.Error())
// }
// }
//}
//
//// return package data, package type, package target
//func audioReadPackage() (error) {
// var typeTarget [1]byte
// _, err := audioConn.Read(typeTarget[:])
// if err != nil {
// logger.Fatal("Could not read UDP package 1: " + err.Error())
// }
// // first 3 bits are packet type
// pckType := (typeTarget[0] & 0xE0) >> 5
// // remaining 5 bits are packet target
// pckTarget := (typeTarget[0] & 0x1F)
//
// switch pckType {
// case Ping:
// logger.Debug("Receveid UDP Ping packet")
// timestamp, err := decodeVarint(audioConn)
// if err != nil {
// return err
// }
// break
// case OPUS:
// logger.Debug("Received UDP OPUS Audio Packet")
// break
// case CELTAplha:
// case CELTBeta:
// case Speex:
// logger.Warn("Received Unsupported UDP Audio Package (CELT or Speex)")
// break
// default:
// logger.Fatal("Received unknown UDP Package")
// }
// return nil
//}