Browse Source

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

pull/846/head
aler9 5 years ago
parent
commit
3e8668f9e2
  1. 10
      internal/core/rtsp_session.go
  2. 2
      internal/hls/muxer_test.go

10
internal/core/rtsp_session.go

@ -125,16 +125,6 @@ func (s *rtspSession) onClose(err error) { @@ -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,

2
internal/hls/muxer_test.go

@ -198,7 +198,7 @@ func TestMuxerCloseBeforeFirstSegment(t *testing.T) { @@ -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)

Loading…
Cancel
Save