From 1649386ed5be20e110c5abc416db689c954b5f4a Mon Sep 17 00:00:00 2001 From: "Alex.CR" Date: Wed, 13 Oct 2021 19:51:05 +0800 Subject: [PATCH] SRT: Pes error when mpegts demux in srt. v4.0.178 * solve mpegts demux bug * solve pes error when mpegts demux --- trunk/doc/CHANGELOG.md | 1 + trunk/src/core/srs_core_version4.hpp | 2 +- trunk/src/srt/ts_demux.cpp | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/trunk/doc/CHANGELOG.md b/trunk/doc/CHANGELOG.md index d281c4a6c..799736c4f 100644 --- a/trunk/doc/CHANGELOG.md +++ b/trunk/doc/CHANGELOG.md @@ -8,6 +8,7 @@ The changelog for SRS. ## SRS 4.0 Changelog +* v4.0, 2021-10-13, Merge [#2671](https://github.com/ossrs/srs/pull/2671): SRT: Pes error when mpegts demux in srt. v4.0.178 * v4.0, 2021-10-12, Merge [#2550](https://github.com/ossrs/srs/pull/2550): API use publish params. v4.0.177 * v4.0, 2021-10-12, Merge [#2549](https://github.com/ossrs/srs/pull/2549): Fix duration issue for HLS on_hls. v4.0.176 * v4.0, 2021-10-11, Fix [#1641](https://github.com/ossrs/srs/issues/1641), HLS/RTC picture corrupt for SPS/PPS lost. v4.0.175 diff --git a/trunk/src/core/srs_core_version4.hpp b/trunk/src/core/srs_core_version4.hpp index be365e728..9dd360dbd 100644 --- a/trunk/src/core/srs_core_version4.hpp +++ b/trunk/src/core/srs_core_version4.hpp @@ -9,6 +9,6 @@ #define VERSION_MAJOR 4 #define VERSION_MINOR 0 -#define VERSION_REVISION 177 +#define VERSION_REVISION 178 #endif diff --git a/trunk/src/srt/ts_demux.cpp b/trunk/src/srt/ts_demux.cpp index 23d8d430f..6ea25a810 100644 --- a/trunk/src/srt/ts_demux.cpp +++ b/trunk/src/srt/ts_demux.cpp @@ -126,6 +126,7 @@ int ts_demux::decode_unit(unsigned char* data_p, std::string key_path, TS_DATA_C } } npos += sizeof(field_p->_adaptation_field_length) + field_p->_adaptation_field_length; + pos = npos;//must consider the 'stuffing_byte' in adaptation field } if(ts_header_info._adaptation_field_control == 1 @@ -396,7 +397,6 @@ int ts_demux::pes_parse(unsigned char* p, size_t npos, && stream_id != 248//ITU-T Rec. H.222.1 type E stream 1111 1000 ) { - assert(0x80 == p[pos]); //skip 2bits//'10' 2 bslbf int PES_scrambling_control = (p[pos]&30)>>4; //PES_scrambling_control 2 bslbf (void)PES_scrambling_control;