This commit is contained in:
Soph :3 2025-11-24 21:12:40 +02:00
parent dc4b6ad168
commit 6d88368a1b
2 changed files with 21 additions and 8 deletions

View file

@ -11,9 +11,9 @@ import (
)
type Frame struct {
Data []byte
Data []byte
Elapsed uint32
}
type RTPRelay struct {
close bool
listener net.PacketConn
@ -50,6 +50,8 @@ func (r *RTPRelay) readLoop() {
frameBuffer := bytes.Buffer{}
var elapsed uint32 // <-- store last timestamp
for {
r.listener.SetReadDeadline(time.Now().Add(10 * time.Second))
@ -86,12 +88,15 @@ func (r *RTPRelay) readLoop() {
case 0x0001:
frameBuffer.Write(payload)
case 0x0002:
if len(payload) >= 16 {
elapsed = binary.LittleEndian.Uint32(payload[12:])
}
// Emit a full H264 frame
if frameBuffer.Len() > 0 {
cp := append([]byte{}, frameBuffer.Bytes()...)
r.Frames <- Frame{Data: cp}
frameBuffer.Reset()
}
cp := append([]byte{}, frameBuffer.Bytes()...)
r.Frames <- Frame{Data: cp, Elapsed: elapsed}
frameBuffer.Reset()
}
}
}
}