From cb53c7b91bc145962c676d559d08b1baacf84abd Mon Sep 17 00:00:00 2001 From: Roger Davenport Date: Thu, 4 Jan 2024 14:06:47 -0600 Subject: [PATCH] v121 fix for B-frames closing the stream --- internal/core/core.go | 2 +- internal/core/webrtc_session.go | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/internal/core/core.go b/internal/core/core.go index 1f7449bc..3c9d845b 100644 --- a/internal/core/core.go +++ b/internal/core/core.go @@ -24,7 +24,7 @@ import ( "github.com/bluenviron/mediamtx/internal/rlimit" ) -var version = "v0.0.0" +var version = "v1.2.1-roger" var defaultConfPaths = []string{ "rtsp-simple-server.yml", diff --git a/internal/core/webrtc_session.go b/internal/core/webrtc_session.go index 3319af8e..2851cf9f 100644 --- a/internal/core/webrtc_session.go +++ b/internal/core/webrtc_session.go @@ -44,7 +44,7 @@ func (webrtcTrackWrapper) PTSEqualsDTS(*rtp.Packet) bool { type setupStreamFunc func(*webrtc.OutgoingTrack) error -func webrtcFindVideoTrack( +func (s *webRTCSession) webrtcFindVideoTrack( stream *stream.Stream, writer *asyncwriter.Writer, ) (format.Format, setupStreamFunc) { @@ -189,7 +189,8 @@ func webrtcFindVideoTrack( if !firstReceived { firstReceived = true } else if tunit.PTS < lastPTS { - return fmt.Errorf("WebRTC doesn't support H264 streams with B-frames") + //return fmt.Errorf("WebRTC doesn't support H264 streams with B-frames") + s.Log(logger.Warn, "WebRTC doesn't support H264 streams with B-frames") } lastPTS = tunit.PTS @@ -592,7 +593,7 @@ func (s *webRTCSession) runRead() (int, error) { writer := asyncwriter.New(s.writeQueueSize, s) - videoTrack, videoSetup := webrtcFindVideoTrack(res.stream, writer) + videoTrack, videoSetup := s.webrtcFindVideoTrack(res.stream, writer) audioTrack, audioSetup := webrtcFindAudioTrack(res.stream, writer) if videoTrack == nil && audioTrack == nil {