From 6e75093992d03fddaef50da047965d8963e67bca Mon Sep 17 00:00:00 2001 From: aler9 <46489434+aler9@users.noreply.github.com> Date: Tue, 8 Mar 2022 18:01:03 +0100 Subject: [PATCH] hls client: fix freeze that happened during a video decoding error --- internal/hls/client_video_processor.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/internal/hls/client_video_processor.go b/internal/hls/client_video_processor.go index 2b3f9ad8..a6779f62 100644 --- a/internal/hls/client_video_processor.go +++ b/internal/hls/client_video_processor.go @@ -137,7 +137,10 @@ func (p *clientVideoProcessor) process( data []byte, pts time.Duration, dts time.Duration) { - p.queue <- clientVideoProcessorData{data, pts, dts} + select { + case p.queue <- clientVideoProcessorData{data, pts, dts}: + case <-p.ctx.Done(): + } } func (p *clientVideoProcessor) initializeTrack() error {