From cc3871dc4bd378165eba58645bfa61aa01653e84 Mon Sep 17 00:00:00 2001 From: Roger Davenport Date: Fri, 5 Jan 2024 11:03:41 -0600 Subject: [PATCH] Log error instead of closing stream when we get a B-frame --- internal/servers/webrtc/session.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/servers/webrtc/session.go b/internal/servers/webrtc/session.go index fb81dec2..c26ab79c 100644 --- a/internal/servers/webrtc/session.go +++ b/internal/servers/webrtc/session.go @@ -34,7 +34,7 @@ import ( type setupStreamFunc func(*webrtc.OutgoingTrack) error -func findVideoTrack( +func (s *session) findVideoTrack( stream *stream.Stream, writer *asyncwriter.Writer, ) (format.Format, setupStreamFunc) { @@ -179,7 +179,7 @@ func findVideoTrack( if !firstReceived { firstReceived = true } else if tunit.PTS < lastPTS { - return fmt.Errorf("WebRTC doesn't support H264 streams with B-frames") + s.Log(logger.Error, "WebRTC doesn't support H264 streams with B-frames") } lastPTS = tunit.PTS @@ -536,7 +536,7 @@ func (s *session) runRead() (int, error) { writer := asyncwriter.New(s.writeQueueSize, s) - videoTrack, videoSetup := findVideoTrack(res.Stream, writer) + videoTrack, videoSetup := s.findVideoTrack(res.Stream, writer) audioTrack, audioSetup := findAudioTrack(res.Stream, writer) if videoTrack == nil && audioTrack == nil {