From 350f26c89ed5c048195a3a215fca6322909c6018 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20K=C3=B6ritz?= Date: Fri, 20 Sep 2019 12:02:16 +0200 Subject: [PATCH] Calculate elapsed time as multiple of 90ms, don't start RTSP on seq 0 and rtptime 0 (possible fix for VLC issues) --- libipcamera/RTPRelay.go | 2 +- rtsp/RTSPServer.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libipcamera/RTPRelay.go b/libipcamera/RTPRelay.go index a900cd0..e510dd7 100644 --- a/libipcamera/RTPRelay.go +++ b/libipcamera/RTPRelay.go @@ -104,7 +104,7 @@ func handleCameraStream(relay RTPRelay, conn net.PacketConn) { packetBuffer.Reset() packetBuffer.Write([]byte{0x80, 0x63}) 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))) // Reset the Framebuffer diff --git a/rtsp/RTSPServer.go b/rtsp/RTSPServer.go index 042be2b..212d73e 100644 --- a/rtsp/RTSPServer.go +++ b/rtsp/RTSPServer.go @@ -132,7 +132,7 @@ func (s *Server) handleRequest(packet []string, conn net.Conn) { writeStatus(conn, 200, "OK") replyCSeq(conn, headers) 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")) case "TEARDOWN": s.rtpRelay.Stop()