1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00

SRS: Fix bug

This commit is contained in:
winlin 2020-08-21 21:14:18 +08:00
parent aaebecbcc9
commit a826926073
26 changed files with 116 additions and 10 deletions

View file

@ -3912,7 +3912,7 @@ srs_error_t SrsMp4DecodingTime2SampleBox::on_sample(uint32_t sample_index, SrsMp
index++;
if (index >= entries.size()) {
return srs_error_new(ERROR_MP4_ILLEGAL_TIMESTAMP, "illegal ts, stts overflow, count=%d", entries.size());
return srs_error_new(ERROR_MP4_ILLEGAL_TIMESTAMP, "illegal ts, stts overflow, count=%zd", entries.size());
}
count += entries[index].sample_count;
@ -4038,7 +4038,7 @@ srs_error_t SrsMp4CompositionTime2SampleBox::on_sample(uint32_t sample_index, Sr
index++;
if (index >= entries.size()) {
return srs_error_new(ERROR_MP4_ILLEGAL_TIMESTAMP, "illegal ts, ctts overflow, count=%d", entries.size());
return srs_error_new(ERROR_MP4_ILLEGAL_TIMESTAMP, "illegal ts, ctts overflow, count=%d", (int)entries.size());
}
count += entries[index].sample_count;
@ -5217,7 +5217,7 @@ srs_error_t SrsMp4BoxReader::read(SrsSimpleStream* stream, SrsMp4Box** ppbox)
while (stream->length() < (int)required) {
ssize_t nread;
if ((err = rsio->read(buf, SRS_MP4_BUF_SIZE, &nread)) != srs_success) {
return srs_error_wrap(err, "load failed, nread=%d, required=%d", (int)nread, required);
return srs_error_wrap(err, "load failed, nread=%d, required=%d", (int)nread, (int)required);
}
srs_assert(nread > 0);
@ -6282,6 +6282,7 @@ SrsMp4M2tsSegmentEncoder::SrsMp4M2tsSegmentEncoder()
decode_basetime = 0;
styp_bytes = 0;
mdat_bytes = 0;
track_id = 0;
}
SrsMp4M2tsSegmentEncoder::~SrsMp4M2tsSegmentEncoder()

View file

@ -31,6 +31,7 @@ using namespace std;
SrsRtcpCommon::SrsRtcpCommon(): ssrc_(0), data_(NULL), nb_data_(0)
{
payload_len_ = 0;
}
SrsRtcpCommon::~SrsRtcpCommon()
@ -190,7 +191,7 @@ srs_error_t SrsRtcpApp::set_subtype(uint8_t type)
srs_error_t SrsRtcpApp::set_name(std::string name)
{
if(name.length() > 4) {
return srs_error_new(ERROR_RTC_RTCP, "invalid name length %d", name.length());
return srs_error_new(ERROR_RTC_RTCP, "invalid name length %zu", name.length());
}
memset(name_, 0, sizeof(name_));
@ -298,6 +299,13 @@ SrsRtcpSR::SrsRtcpSR()
header_.rc = 0;
header_.version = kRtcpVersion;
header_.length = 6;
ssrc_ = 0;
ntp_ = 0;
rtp_ts_ = 0;
send_rtp_packets_ = 0;
send_rtp_bytes_ = 0;
send_rtp_bytes_ = 0;
}
SrsRtcpSR::~SrsRtcpSR()
@ -706,6 +714,11 @@ SrsRtcpTWCC::SrsRtcpTWCC(uint32_t sender_ssrc) : pkt_len(0)
header_.rc = 15;
header_.version = kRtcpVersion;
ssrc_ = sender_ssrc;
media_ssrc_ = 0;
base_sn_ = 0;
packet_count_ = 0;
reference_time_ = 0;
fb_pkt_count_ = 0;
}
SrsRtcpTWCC::~SrsRtcpTWCC()
@ -1178,6 +1191,7 @@ SrsRtcpNack::SrsRtcpNack(uint32_t sender_ssrc)
header_.rc = 1;
header_.version = kRtcpVersion;
ssrc_ = sender_ssrc;
media_ssrc_ = 0;
}
SrsRtcpNack::~SrsRtcpNack()

View file

@ -66,6 +66,14 @@ struct SrsRtcpHeader
uint16_t type:8;
uint16_t length:16;
SrsRtcpHeader() {
rc = 0;
padding = 0;
version = 0;
type = 0;
length = 0;
}
};
class SrsRtcpCommon: public ISrsCodec
@ -134,6 +142,16 @@ struct SrsRtcpRB
uint32_t jitter;
uint32_t lsr;
uint32_t dlsr;
SrsRtcpRB() {
ssrc = 0;
fraction_lost = 0;
lost_packets = 0;
highest_sn = 0;
jitter = 0;
lsr = 0;
dlsr = 0;
}
};
class SrsRtcpSR : public SrsRtcpCommon

View file

@ -63,7 +63,7 @@ SrsRtpExtensionTypes::~SrsRtpExtensionTypes()
bool SrsRtpExtensionTypes::register_by_uri(int id, std::string uri)
{
for (int i = 0; i < (int)sizeof(kExtensions); ++i) {
for (int i = 0; i < (int)(sizeof(kExtensions)/sizeof(kExtensions[0])); ++i) {
if (kExtensions[i].uri == uri) {
return register_id(id, kExtensions[i].type, kExtensions[i].uri);
}

View file

@ -2012,6 +2012,9 @@ SrsTsPayloadPSI::SrsTsPayloadPSI(SrsTsPacket* p) : SrsTsPayload(p)
const0_value = 0;
const1_value = 3;
CRC_32 = 0;
section_length = 0;
section_syntax_indicator = 0;
table_id = SrsTsPsiIdPas;
}
SrsTsPayloadPSI::~SrsTsPayloadPSI()
@ -2223,7 +2226,12 @@ srs_error_t SrsTsPayloadPATProgram::encode(SrsBuffer* stream)
SrsTsPayloadPAT::SrsTsPayloadPAT(SrsTsPacket* p) : SrsTsPayloadPSI(p)
{
transport_stream_id = 0;
const3_value = 3;
version_number = 0;
current_next_indicator = 0;
section_number = 0;
last_section_number = 0;
}
SrsTsPayloadPAT::~SrsTsPayloadPAT()
@ -2422,6 +2430,12 @@ SrsTsPayloadPMT::SrsTsPayloadPMT(SrsTsPacket* p) : SrsTsPayloadPSI(p)
const1_value0 = 3;
const1_value1 = 7;
const1_value2 = 0x0f;
PCR_PID = 0;
last_section_number = 0;
program_number = 0;
version_number = 0;
current_next_indicator = 0;
section_number = 0;
}
SrsTsPayloadPMT::~SrsTsPayloadPMT()