Browse Source

RTSP server/source: fix encoding of RTP packets with padding

This fixes a SIGSEGV with GStreamer.
pull/883/head
aler9 3 years ago
parent
commit
6dc11c2906
  1. 4
      go.mod
  2. 8
      go.sum
  3. 2
      internal/core/hls_muxer.go
  4. 2
      internal/core/hls_source_test.go
  5. 2
      internal/core/reader.go
  6. 2
      internal/core/rtmp_conn.go
  7. 2
      internal/core/rtmp_source.go
  8. 2
      internal/core/rtsp_server_test.go
  9. 2
      internal/core/rtsp_session.go
  10. 2
      internal/core/rtsp_source.go
  11. 2
      internal/core/rtsp_source_test.go
  12. 2
      internal/core/stream.go
  13. 2
      internal/rtcpsenderset/rtcpsenderset.go

4
go.mod

@ -4,7 +4,7 @@ go 1.17 @@ -4,7 +4,7 @@ go 1.17
require (
code.cloudfoundry.org/bytefmt v0.0.0-20211005130812-5bb3c17173e5
github.com/aler9/gortsplib v0.0.0-20220307213619-94aaa6719dba
github.com/aler9/gortsplib v0.0.0-20220308114755-e12b22ae7783
github.com/asticode/go-astits v1.10.0
github.com/fsnotify/fsnotify v1.4.9
github.com/gin-gonic/gin v1.7.2
@ -13,7 +13,7 @@ require ( @@ -13,7 +13,7 @@ require (
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51
github.com/notedit/rtmp v0.0.2
github.com/pion/rtcp v1.2.9
github.com/pion/rtp v1.7.4
github.com/pion/rtp/v2 v2.0.0-20220302185659-b3d10fc096b0
github.com/stretchr/testify v1.7.0
golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad
gopkg.in/alecthomas/kingpin.v2 v2.2.6

8
go.sum

@ -4,8 +4,8 @@ github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafo @@ -4,8 +4,8 @@ github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafo
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d h1:UQZhZ2O0vMHr2cI+DC1Mbh0TJxzA3RcLoMsFw+aXw7E=
github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho=
github.com/aler9/gortsplib v0.0.0-20220307213619-94aaa6719dba h1:XwR+WPwf0sN22RSpHG2v7hQxDD7zqu1+dZAEUy0JYz8=
github.com/aler9/gortsplib v0.0.0-20220307213619-94aaa6719dba/go.mod h1:mst8cTkmxLn8Osiug8HBjMsNFRt0u7QHt5phJQ1tFVw=
github.com/aler9/gortsplib v0.0.0-20220308114755-e12b22ae7783 h1:/X/Y9Khvh8BWDmfjmbQwmLp7O9OSRLl4WixDefL+YdI=
github.com/aler9/gortsplib v0.0.0-20220308114755-e12b22ae7783/go.mod h1:4HE78w95Rqw1B2T90CHwtA4xBPPCRZ7/G8ds8ZdWcFk=
github.com/aler9/rtmp v0.0.0-20210403095203-3be4a5535927 h1:95mXJ5fUCYpBRdSOnLAQAdJHHKxxxJrVCiaqDi965YQ=
github.com/aler9/rtmp v0.0.0-20210403095203-3be4a5535927/go.mod h1:vzuE21rowz+lT1NGsWbreIvYulgBpCGnQyeTyFblUHc=
github.com/asticode/go-astikit v0.20.0 h1:+7N+J4E4lWx2QOkRdOf6DafWJMv6O4RRfgClwQokrH8=
@ -84,8 +84,8 @@ github.com/pion/randutil v0.1.0 h1:CFG1UdESneORglEsnimhUjf33Rwjubwj6xfiOXBa3mA= @@ -84,8 +84,8 @@ github.com/pion/randutil v0.1.0 h1:CFG1UdESneORglEsnimhUjf33Rwjubwj6xfiOXBa3mA=
github.com/pion/randutil v0.1.0/go.mod h1:XcJrSMMbbMRhASFVOlj/5hQial/Y8oH/HVo7TBZq+j8=
github.com/pion/rtcp v1.2.9 h1:1ujStwg++IOLIEoOiIQ2s+qBuJ1VN81KW+9pMPsif+U=
github.com/pion/rtcp v1.2.9/go.mod h1:qVPhiCzAm4D/rxb6XzKeyZiQK69yJpbUDJSF7TgrqNo=
github.com/pion/rtp v1.7.4 h1:4dMbjb1SuynU5OpA3kz1zHK+u+eOCQjW3MAeVHf1ODA=
github.com/pion/rtp v1.7.4/go.mod h1:bDb5n+BFZxXx0Ea7E5qe+klMuqiBrP+w8XSjiWtCUko=
github.com/pion/rtp/v2 v2.0.0-20220302185659-b3d10fc096b0 h1:zyOGxHutZ6IhksQSMtwf3OFXB29W5R18yFQWOQJYWjU=
github.com/pion/rtp/v2 v2.0.0-20220302185659-b3d10fc096b0/go.mod h1:Vj+rrFbJCT3yxqE/VSwaOo9DQ2pMKGPxuE7hplGOlOs=
github.com/pion/sdp/v3 v3.0.2 h1:UNnSPVaMM+Pdu/mR9UvAyyo6zkdYbKeuOooCwZvTl/g=
github.com/pion/sdp/v3 v3.0.2/go.mod h1:bNiSknmJE0HYBprTHXKPQ3+JjacTv5uap92ueJZKsRk=
github.com/pkg/profile v1.4.0/go.mod h1:NWz/XGvpEW1FyYQ7fCx4dqYBLlfTcE+A9FLAkNKqjFE=

2
internal/core/hls_muxer.go

@ -18,7 +18,7 @@ import ( @@ -18,7 +18,7 @@ import (
"github.com/aler9/gortsplib/pkg/rtpaac"
"github.com/aler9/gortsplib/pkg/rtph264"
"github.com/pion/rtcp"
"github.com/pion/rtp"
"github.com/pion/rtp/v2"
"github.com/aler9/rtsp-simple-server/internal/conf"
"github.com/aler9/rtsp-simple-server/internal/hls"

2
internal/core/hls_source_test.go

@ -13,7 +13,7 @@ import ( @@ -13,7 +13,7 @@ import (
"github.com/aler9/gortsplib/pkg/h264"
"github.com/asticode/go-astits"
"github.com/gin-gonic/gin"
"github.com/pion/rtp"
"github.com/pion/rtp/v2"
"github.com/stretchr/testify/require"
)

2
internal/core/reader.go

@ -2,7 +2,7 @@ package core @@ -2,7 +2,7 @@ package core
import (
"github.com/pion/rtcp"
"github.com/pion/rtp"
"github.com/pion/rtp/v2"
)
// reader is an entity that can read a stream.

2
internal/core/rtmp_conn.go

@ -17,7 +17,7 @@ import ( @@ -17,7 +17,7 @@ import (
"github.com/aler9/gortsplib/pkg/rtph264"
"github.com/notedit/rtmp/av"
"github.com/pion/rtcp"
"github.com/pion/rtp"
"github.com/pion/rtp/v2"
"github.com/aler9/rtsp-simple-server/internal/conf"
"github.com/aler9/rtsp-simple-server/internal/externalcmd"

2
internal/core/rtmp_source.go

@ -11,7 +11,7 @@ import ( @@ -11,7 +11,7 @@ import (
"github.com/aler9/gortsplib/pkg/rtpaac"
"github.com/aler9/gortsplib/pkg/rtph264"
"github.com/notedit/rtmp/av"
"github.com/pion/rtp"
"github.com/pion/rtp/v2"
"github.com/aler9/rtsp-simple-server/internal/conf"
"github.com/aler9/rtsp-simple-server/internal/logger"

2
internal/core/rtsp_server_test.go

@ -6,7 +6,7 @@ import ( @@ -6,7 +6,7 @@ import (
"time"
"github.com/aler9/gortsplib"
"github.com/pion/rtp"
"github.com/pion/rtp/v2"
"github.com/stretchr/testify/require"
)

2
internal/core/rtsp_session.go

@ -10,7 +10,7 @@ import ( @@ -10,7 +10,7 @@ import (
"github.com/aler9/gortsplib"
"github.com/aler9/gortsplib/pkg/base"
"github.com/pion/rtcp"
"github.com/pion/rtp"
"github.com/pion/rtp/v2"
"github.com/aler9/rtsp-simple-server/internal/conf"
"github.com/aler9/rtsp-simple-server/internal/externalcmd"

2
internal/core/rtsp_source.go

@ -15,7 +15,7 @@ import ( @@ -15,7 +15,7 @@ import (
"github.com/aler9/gortsplib/pkg/h264"
"github.com/aler9/gortsplib/pkg/rtph264"
"github.com/pion/rtcp"
"github.com/pion/rtp"
"github.com/pion/rtp/v2"
"github.com/aler9/rtsp-simple-server/internal/conf"
"github.com/aler9/rtsp-simple-server/internal/logger"

2
internal/core/rtsp_source_test.go

@ -10,7 +10,7 @@ import ( @@ -10,7 +10,7 @@ import (
"github.com/aler9/gortsplib/pkg/auth"
"github.com/aler9/gortsplib/pkg/base"
"github.com/aler9/gortsplib/pkg/rtph264"
"github.com/pion/rtp"
"github.com/pion/rtp/v2"
"github.com/stretchr/testify/require"
)

2
internal/core/stream.go

@ -5,7 +5,7 @@ import ( @@ -5,7 +5,7 @@ import (
"github.com/aler9/gortsplib"
"github.com/pion/rtcp"
"github.com/pion/rtp"
"github.com/pion/rtp/v2"
)
type streamNonRTSPReadersMap struct {

2
internal/rtcpsenderset/rtcpsenderset.go

@ -6,7 +6,7 @@ import ( @@ -6,7 +6,7 @@ import (
"github.com/aler9/gortsplib"
"github.com/aler9/gortsplib/pkg/rtcpsender"
"github.com/pion/rtcp"
"github.com/pion/rtp"
"github.com/pion/rtp/v2"
)
// RTCPSenderSet is a set of RTCP senders.

Loading…
Cancel
Save