Fix RTSP AAC sound from some Reolink cameras
This commit is contained in:
+10
-1
@@ -17,9 +17,14 @@ func RTPDepay(track *streamer.Track) streamer.WrapperFunc {
|
|||||||
|
|
||||||
//log.Printf("[RTP/AAC] units: %d, size: %4d, ts: %10d, %t", headersSize/2, len(packet.Payload), packet.Timestamp, packet.Marker)
|
//log.Printf("[RTP/AAC] units: %d, size: %4d, ts: %10d, %t", headersSize/2, len(packet.Payload), packet.Timestamp, packet.Marker)
|
||||||
|
|
||||||
|
data := packet.Payload[2+headersSize:]
|
||||||
|
if IsADTS(data) {
|
||||||
|
data = data[7:]
|
||||||
|
}
|
||||||
|
|
||||||
clone := *packet
|
clone := *packet
|
||||||
clone.Version = RTPPacketVersionAAC
|
clone.Version = RTPPacketVersionAAC
|
||||||
clone.Payload = packet.Payload[2+headersSize:]
|
clone.Payload = data
|
||||||
return push(&clone)
|
return push(&clone)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -55,3 +60,7 @@ func RTPPay(mtu uint16) streamer.WrapperFunc {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func IsADTS(b []byte) bool {
|
||||||
|
return len(b) > 7 && b[0] == 0xFF && b[1]&0xF0 == 0xF0
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user