rtsp server: allow again H264 tracks without SPS or PPS in the SDP (#787)

This commit is contained in:
aler9 2022-01-30 17:49:11 +01:00
parent 343a5f17fb
commit 3e8668f9e2
3 changed files with 3 additions and 13 deletions

View File

@ -125,16 +125,6 @@ func (s *rtspSession) onClose(err error) {
// onAnnounce is called by rtspServer.
func (s *rtspSession) onAnnounce(c *rtspConn, ctx *gortsplib.ServerHandlerOnAnnounceCtx) (*base.Response, error) {
for i, track := range ctx.Tracks {
if th264, ok := track.(*gortsplib.TrackH264); ok {
if th264.SPS() == nil || th264.PPS() == nil {
return &base.Response{
StatusCode: base.StatusBadRequest,
}, fmt.Errorf("track %d can't be used: H264 SPS or PPS not provided into the SDP", i)
}
}
}
res := s.pathManager.onPublisherAnnounce(pathPublisherAnnounceReq{
author: s,
pathName: ctx.Path,

View File

@ -198,7 +198,7 @@ func TestMuxerCloseBeforeFirstSegment(t *testing.T) {
}
func TestMuxerMaxSegmentSize(t *testing.T) {
videoTrack, err := gortsplib.NewTrackH264(96,[]byte{0x07, 0x01, 0x02, 0x03}, []byte{0x08}, nil)
videoTrack, err := gortsplib.NewTrackH264(96, []byte{0x07, 0x01, 0x02, 0x03}, []byte{0x08}, nil)
require.NoError(t, err)
m, err := NewMuxer(3, 1*time.Second, 0, videoTrack, nil)

View File

@ -13,8 +13,8 @@ import (
type muxerTSSegment struct {
hlsSegmentMaxSize uint64
videoTrack gortsplib.Track
writer *muxerTSWriter
videoTrack gortsplib.Track
writer *muxerTSWriter
name string
buf bytes.Buffer