From cec6360a0a72226405db600138189771f73a6c7a Mon Sep 17 00:00:00 2001 From: Chaitanya Mankala Date: Tue, 24 Dec 2024 16:29:55 +0530 Subject: [PATCH] [fix] Range needs endtime too --- format/rtspv2/client.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/format/rtspv2/client.go b/format/rtspv2/client.go index eea4c13..afb2248 100644 --- a/format/rtspv2/client.go +++ b/format/rtspv2/client.go @@ -387,14 +387,17 @@ func ReplayDial(options RTSPClientOptions, startTime string) (*RTSPClient, error return client, nil } -func (client *RTSPClient) SeekTime(startTime string) error { +func (client *RTSPClient) SeekTime(startTime string, scale float64, endTime string) error { // Prepare new PLAY request headers + scaleStr := fmt.Sprintf("%.6f", scale) headers := map[string]string{ "Require": "onvif-replay", - "Range": "clock=" + startTime + "-"} + "Scale": scaleStr, + "Range": "clock=" + startTime + "-" + endTime} // Send the PLAY request with the new scale err := client.request(PLAY, headers, client.control, false, true) if err != nil { + client.Println("Failed to Change SEEKTIME", err) return fmt.Errorf("failed to change speed: %w", err) } return nil