srs/trunk/src/utest
Winlin 73dd8af4c9
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.271
6477f31004 and 5.0.170
939f6b484b. 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>
2023-08-02 22:49:49 +08:00
..
srs_utest_amf0.cpp SRS5: Update license date to 2023. v5.0.123 2023-01-01 08:56:20 +08:00
srs_utest_amf0.hpp SRS5: Update license date to 2023. v5.0.123 2023-01-01 08:56:20 +08:00
srs_utest_app.cpp SRS5: Update license date to 2023. v5.0.123 2023-01-01 08:56:20 +08:00
srs_utest_app.hpp SRS5: Update license date to 2023. v5.0.123 2023-01-01 08:56:20 +08:00
srs_utest_avc.cpp SRS5: Update license date to 2023. v5.0.123 2023-01-01 08:56:20 +08:00
srs_utest_avc.hpp SRS5: Update license date to 2023. v5.0.123 2023-01-01 08:56:20 +08:00
srs_utest_config.cpp API: Support HTTP basic authentication for API. v6.0.4, v5.0.152 (#3458) 2023-04-01 12:45:29 +08:00
srs_utest_config.hpp SRS5: Update license date to 2023. v5.0.123 2023-01-01 08:56:20 +08:00
srs_utest_core.cpp Replace sprintf with snprintf to eliminate compile warnings. v6.0.45 (#3534) 2023-05-14 13:04:21 +08:00
srs_utest_core.hpp SRS5: Update license date to 2023. v5.0.123 2023-01-01 08:56:20 +08:00
srs_utest_gb28181.cpp SRS5: Update license date to 2023. v5.0.123 2023-01-01 08:56:20 +08:00
srs_utest_gb28181.hpp SRS5: Update license date to 2023. v5.0.123 2023-01-01 08:56:20 +08:00
srs_utest_http.cpp API: Support HTTP basic authentication for API. v6.0.4, v5.0.152 (#3458) 2023-04-01 12:45:29 +08:00
srs_utest_http.hpp SRS5: API: Fix duplicated on_stop callback event bug. v5.0.125 (#3349) 2023-01-01 19:28:10 +08:00
srs_utest_kernel.cpp RTMP: Support enhanced RTMP specification for HEVC. v6.0.42 (#3495) 2023-04-08 09:18:10 +08:00
srs_utest_kernel.hpp SRS5: Improve file writer performance by fwrite with cache. v5.0.133 (#3308) 2023-01-08 12:06:38 +08:00
srs_utest_kernel2.cpp HLS: Ignore empty NALU to avoid error. v6.0.65 (#3750) 2023-08-02 22:49:49 +08:00
srs_utest_kernel2.hpp SRS5: Update license date to 2023. v5.0.123 2023-01-01 08:56:20 +08:00
srs_utest_mp4.cpp HEVC: Support DVR HEVC stream to MP4. v6.0.14 (#3360) 2023-01-08 15:05:43 +08:00
srs_utest_mp4.hpp SRS5: Update license date to 2023. v5.0.123 2023-01-01 08:56:20 +08:00
srs_utest_protocol.cpp SRS5: Update license date to 2023. v5.0.123 2023-01-01 08:56:20 +08:00
srs_utest_protocol.hpp SRS5: Update license date to 2023. v5.0.123 2023-01-01 08:56:20 +08:00
srs_utest_protocol2.cpp SRS5: Update license date to 2023. v5.0.123 2023-01-01 08:56:20 +08:00
srs_utest_protocol2.hpp SRS5: Update license date to 2023. v5.0.123 2023-01-01 08:56:20 +08:00
srs_utest_reload.cpp SRS5: Update license date to 2023. v5.0.123 2023-01-01 08:56:20 +08:00
srs_utest_reload.hpp SRS5: Update license date to 2023. v5.0.123 2023-01-01 08:56:20 +08:00
srs_utest_rtc.cpp SRS5: Update license date to 2023. v5.0.123 2023-01-01 08:56:20 +08:00
srs_utest_rtc.hpp SRS5: Update license date to 2023. v5.0.123 2023-01-01 08:56:20 +08:00
srs_utest_rtmp.cpp Forward add question mark to the end. v6.0.30 (#3438) 2023-02-25 19:13:48 +08:00
srs_utest_rtmp.hpp SRS5: Update license date to 2023. v5.0.123 2023-01-01 08:56:20 +08:00
srs_utest_service.cpp SRS5: Update license date to 2023. v5.0.123 2023-01-01 08:56:20 +08:00
srs_utest_service.hpp SRS5: Update license date to 2023. v5.0.123 2023-01-01 08:56:20 +08:00
srs_utest_srt.cpp SRT: Upgrade libsrt from 1.4.1 to 1.5.1. v6.0.12 (#3362) 2023-01-04 19:56:33 +08:00
srs_utest_srt.hpp SRS5: Update license date to 2023. v5.0.123 2023-01-01 08:56:20 +08:00
srs_utest.cpp HLS: Ignore empty NALU to avoid error. v6.0.65 (#3750) 2023-08-02 22:49:49 +08:00
srs_utest.hpp HLS: Ignore empty NALU to avoid error. v6.0.65 (#3750) 2023-08-02 22:49:49 +08:00