mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
HLS: Ignore empty NALU to avoid error. v6.0.65 (#3750)
For the DJI M30, there is a bug where empty NALU packets with a size of zero are causing issues with HLS streaming. This bug leads to random unpublish events due to the SRS disconnecting the connection for the HLS module when it fails to handle empty NALU packets. To address this bug, we have patched the system to ignore any empty NALU packets with a size of zero. Additionally, we have created a tool in the srs-bench to replay pcapng files captured by tcpdump or Wireshark. We have also added utest using mprotect and asan to detect any memory corruption. It is important to note that this bug has been fixed in versions 4.0.2716477f31004
and 5.0.170939f6b484b
. This patch specifically addresses the issue in SRS 6.0. Please be aware that there is another commit related to this bug that partially fixes the issue but still leaves a small problem for asan to detect memory corruption. This commit,577cd299e1
, only ignores empty NALU packets but still reads beyond the memory. --------- Co-authored-by: chundonglinlin <chundonglinlin@163.com>
This commit is contained in:
parent
e19efe0bcd
commit
73dd8af4c9
182 changed files with 46111 additions and 3914 deletions
1
trunk/3rdparty/srs-bench/vendor/github.com/mattn/go-colorable/colorable_appengine.go
generated
vendored
1
trunk/3rdparty/srs-bench/vendor/github.com/mattn/go-colorable/colorable_appengine.go
generated
vendored
|
@ -1,4 +1,3 @@
|
|||
//go:build appengine
|
||||
// +build appengine
|
||||
|
||||
package colorable
|
||||
|
|
4
trunk/3rdparty/srs-bench/vendor/github.com/mattn/go-colorable/colorable_others.go
generated
vendored
4
trunk/3rdparty/srs-bench/vendor/github.com/mattn/go-colorable/colorable_others.go
generated
vendored
|
@ -1,5 +1,5 @@
|
|||
//go:build !windows && !appengine
|
||||
// +build !windows,!appengine
|
||||
// +build !windows
|
||||
// +build !appengine
|
||||
|
||||
package colorable
|
||||
|
||||
|
|
4
trunk/3rdparty/srs-bench/vendor/github.com/mattn/go-colorable/colorable_windows.go
generated
vendored
4
trunk/3rdparty/srs-bench/vendor/github.com/mattn/go-colorable/colorable_windows.go
generated
vendored
|
@ -1,5 +1,5 @@
|
|||
//go:build windows && !appengine
|
||||
// +build windows,!appengine
|
||||
// +build windows
|
||||
// +build !appengine
|
||||
|
||||
package colorable
|
||||
|
||||
|
|
1
trunk/3rdparty/srs-bench/vendor/github.com/mattn/go-isatty/isatty_android.go
generated
vendored
1
trunk/3rdparty/srs-bench/vendor/github.com/mattn/go-isatty/isatty_android.go
generated
vendored
|
@ -1,4 +1,3 @@
|
|||
//go:build android
|
||||
// +build android
|
||||
|
||||
package isatty
|
||||
|
|
1
trunk/3rdparty/srs-bench/vendor/github.com/mattn/go-isatty/isatty_bsd.go
generated
vendored
1
trunk/3rdparty/srs-bench/vendor/github.com/mattn/go-isatty/isatty_bsd.go
generated
vendored
|
@ -1,4 +1,3 @@
|
|||
//go:build (darwin || freebsd || openbsd || netbsd || dragonfly) && !appengine
|
||||
// +build darwin freebsd openbsd netbsd dragonfly
|
||||
// +build !appengine
|
||||
|
||||
|
|
1
trunk/3rdparty/srs-bench/vendor/github.com/mattn/go-isatty/isatty_others.go
generated
vendored
1
trunk/3rdparty/srs-bench/vendor/github.com/mattn/go-isatty/isatty_others.go
generated
vendored
|
@ -1,4 +1,3 @@
|
|||
//go:build appengine || js || nacl
|
||||
// +build appengine js nacl
|
||||
|
||||
package isatty
|
||||
|
|
4
trunk/3rdparty/srs-bench/vendor/github.com/mattn/go-isatty/isatty_solaris.go
generated
vendored
4
trunk/3rdparty/srs-bench/vendor/github.com/mattn/go-isatty/isatty_solaris.go
generated
vendored
|
@ -1,5 +1,5 @@
|
|||
//go:build solaris && !appengine
|
||||
// +build solaris,!appengine
|
||||
// +build solaris
|
||||
// +build !appengine
|
||||
|
||||
package isatty
|
||||
|
||||
|
|
1
trunk/3rdparty/srs-bench/vendor/github.com/mattn/go-isatty/isatty_tcgets.go
generated
vendored
1
trunk/3rdparty/srs-bench/vendor/github.com/mattn/go-isatty/isatty_tcgets.go
generated
vendored
|
@ -1,4 +1,3 @@
|
|||
//go:build (linux || aix) && !appengine && !android
|
||||
// +build linux aix
|
||||
// +build !appengine
|
||||
// +build !android
|
||||
|
|
4
trunk/3rdparty/srs-bench/vendor/github.com/mattn/go-isatty/isatty_windows.go
generated
vendored
4
trunk/3rdparty/srs-bench/vendor/github.com/mattn/go-isatty/isatty_windows.go
generated
vendored
|
@ -1,5 +1,5 @@
|
|||
//go:build windows && !appengine
|
||||
// +build windows,!appengine
|
||||
// +build windows
|
||||
// +build !appengine
|
||||
|
||||
package isatty
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue