From 0daf8a17b7b4cee5a16f71dd5d53addc55a10a86 Mon Sep 17 00:00:00 2001 From: aler9 <46489434+aler9@users.noreply.github.com> Date: Wed, 26 Oct 2022 21:49:56 +0200 Subject: [PATCH] hls client: skip packets received before the 1st packet of the leading track, for MPEG-TS segments too --- internal/hls/client_processor_fmp4_track.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/internal/hls/client_processor_fmp4_track.go b/internal/hls/client_processor_fmp4_track.go index 8cfb5c96..58408fc6 100644 --- a/internal/hls/client_processor_fmp4_track.go +++ b/internal/hls/client_processor_fmp4_track.go @@ -58,9 +58,11 @@ func (t *clientProcessorFMP4Track) processPartTrack(ctx context.Context, pt *fmp return err } - err = t.onEntry(pts, sample.Payload) - if err != nil { - return err + if pts >= 0 { // silently discard packets prior to the first packet of the leading track + err = t.onEntry(pts, sample.Payload) + if err != nil { + return err + } } rawDTS += uint64(sample.Duration)