Restore fix audio sample rate for some xiaomi cameras #2006

This commit is contained in:
Alex X
2026-02-13 10:59:38 +03:00
parent f68c602a7d
commit 01c7451556
2 changed files with 19 additions and 1 deletions
+18
View File
@@ -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...)
+1 -1
View File
@@ -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 {