From cca1b64cc2f0a2162c77e1ea0cc43ed624ecc075 Mon Sep 17 00:00:00 2001 From: boks1971 Date: Fri, 16 Jan 2026 02:13:58 +0530 Subject: [PATCH] offset flag in replay commands. - Command mismatch, flag was `offset`, but was reading `pts` - Also change `offset` format to parse time.Duration so that we can specify things like 12m, 43s, etc. --- cmd/lk/replay.go | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/cmd/lk/replay.go b/cmd/lk/replay.go index 2d29f5f9..c4445fb6 100644 --- a/cmd/lk/replay.go +++ b/cmd/lk/replay.go @@ -73,9 +73,9 @@ var ( Usage: "Playback room name", Required: true, }, - &cli.IntFlag{ + &cli.StringFlag{ Name: "offset", - Usage: "Playback start time", + Usage: "Playback start time (ex: 30s, 1m)", Required: false, }, }, @@ -90,9 +90,9 @@ var ( Usage: "Playback `ID`", Required: true, }, - &cli.IntFlag{ + &cli.StringFlag{ Name: "offset", - Usage: "Playback start time", + Usage: "Playback start time (ex: 30s, 1m)", Required: true, }, }, @@ -188,10 +188,18 @@ func playback(ctx context.Context, cmd *cli.Command) error { return err } + offset := cmd.String("offset") + var seekOffset time.Duration + if offset != "" { + seekOffset, err = time.ParseDuration(offset) + if err != nil { + return err + } + } req := &replay.PlaybackRequest{ ReplayId: cmd.String("id"), PlaybackRoom: cmd.String("room"), - SeekOffset: int64(cmd.Int("pts")), + SeekOffset: seekOffset.Nanoseconds(), } res, err := replayClient.Playback(ctx, req) if err != nil { @@ -208,9 +216,13 @@ func seek(ctx context.Context, cmd *cli.Command) error { return err } + seekOffset, err := time.ParseDuration(cmd.String("offset")) + if err != nil { + return err + } req := &replay.SeekRequest{ PlaybackId: cmd.String("id"), - SeekOffset: int64(cmd.Int("pts")), + SeekOffset: seekOffset.Nanoseconds(), } _, err = replayClient.Seek(ctx, req) return err