30 lines
614 B
Go
30 lines
614 B
Go
package audio
|
|
|
|
import (
|
|
"github.com/status-im/status-go/protocol/protobuf"
|
|
)
|
|
|
|
func aac(buf []byte) bool {
|
|
return len(buf) > 1 &&
|
|
((buf[0] == 0xFF && buf[1] == 0xF1) ||
|
|
(buf[0] == 0xFF && buf[1] == 0xF9))
|
|
}
|
|
|
|
func amr(buf []byte) bool {
|
|
return len(buf) > 11 &&
|
|
buf[0] == 0x23 && buf[1] == 0x21 &&
|
|
buf[2] == 0x41 && buf[3] == 0x4D &&
|
|
buf[4] == 0x52 && buf[5] == 0x0A
|
|
}
|
|
|
|
func Type(buf []byte) protobuf.AudioMessage_AudioType {
|
|
switch {
|
|
case aac(buf):
|
|
return protobuf.AudioMessage_AAC
|
|
case amr(buf):
|
|
return protobuf.AudioMessage_AMR
|
|
default:
|
|
return protobuf.AudioMessage_UNKNOWN_AUDIO_TYPE
|
|
}
|
|
}
|