Calculate elapsed time as multiple of 90ms, don't start RTSP on seq 0 and rtptime 0 (possible fix for VLC issues)

This commit is contained in:
Jonas Köritz 2019-09-20 12:02:16 +02:00
parent a2e812c95d
commit 350f26c89e
2 changed files with 2 additions and 2 deletions

View file

@ -104,7 +104,7 @@ func handleCameraStream(relay RTPRelay, conn net.PacketConn) {
packetBuffer.Reset() packetBuffer.Reset()
packetBuffer.Write([]byte{0x80, 0x63}) packetBuffer.Write([]byte{0x80, 0x63})
binary.Write(&packetBuffer, binary.BigEndian, sequenceNumber+1) binary.Write(&packetBuffer, binary.BigEndian, sequenceNumber+1)
binary.Write(&packetBuffer, binary.BigEndian, (uint32)(elapsed)) binary.Write(&packetBuffer, binary.BigEndian, (uint32)(elapsed)*90)
binary.Write(&packetBuffer, binary.BigEndian, (uint64(0))) binary.Write(&packetBuffer, binary.BigEndian, (uint64(0)))
// Reset the Framebuffer // Reset the Framebuffer

View file

@ -132,7 +132,7 @@ func (s *Server) handleRequest(packet []string, conn net.Conn) {
writeStatus(conn, 200, "OK") writeStatus(conn, 200, "OK")
replyCSeq(conn, headers) replyCSeq(conn, headers)
writeHeader(conn, "Session", session) writeHeader(conn, "Session", session)
writeHeader(conn, "RTP-Info", "url="+request[1]+";seq=0;rtptime=0") writeHeader(conn, "RTP-Info", "url="+request[1]+";seq=10;rtptime=10")
conn.Write([]byte("\r\n")) conn.Write([]byte("\r\n"))
case "TEARDOWN": case "TEARDOWN":
s.rtpRelay.Stop() s.rtpRelay.Stop()