mirror of
https://github.com/AlexxIT/go2rtc.git
synced 2026-04-22 15:47:06 +08:00
Restore fix audio sample rate for some xiaomi cameras #2006
This commit is contained in:
@@ -281,6 +281,24 @@ type Packet struct {
|
||||
Payload []byte
|
||||
}
|
||||
|
||||
func (p *Packet) SampleRate() uint32 {
|
||||
// flag: 1 0011 000 - sample rate 16000
|
||||
// flag: 100 00 01 0000 000 - sample rate 8000
|
||||
v := (p.Flags >> 3) & 0b1111
|
||||
if v != 0 {
|
||||
return 16000
|
||||
}
|
||||
return 8000
|
||||
}
|
||||
|
||||
//func (p *Packet) AudioUnknown1() byte {
|
||||
// return byte((p.Flags >> 7) & 0b11)
|
||||
//}
|
||||
//
|
||||
//func (p *Packet) AudioUnknown2() byte {
|
||||
// return byte((p.Flags >> 9) & 0b11)
|
||||
//}
|
||||
|
||||
func dafangRaw(cmd uint32, args ...byte) []byte {
|
||||
payload := tutk.ICAM(cmd, args...)
|
||||
|
||||
|
||||
@@ -85,7 +85,7 @@ func probe(client *Client, audio bool) ([]*core.Media, error) {
|
||||
}
|
||||
case codecPCMA:
|
||||
if acodec == nil {
|
||||
acodec = &core.Codec{Name: core.CodecPCMA, ClockRate: 8000}
|
||||
acodec = &core.Codec{Name: core.CodecPCMA, ClockRate: pkt.SampleRate()}
|
||||
}
|
||||
case codecOPUS:
|
||||
if acodec == nil {
|
||||
|
||||
Reference in New Issue
Block a user