diff --git a/trunk/src/app/srs_app_bandwidth.cpp b/trunk/src/app/srs_app_bandwidth.cpp index f89cabe03..6dc156ddf 100644 --- a/trunk/src/app/srs_app_bandwidth.cpp +++ b/trunk/src/app/srs_app_bandwidth.cpp @@ -151,7 +151,7 @@ srs_error_t SrsBandwidth::bandwidth_check(SrsRtmpServer* rtmp, ISrsProtocolStati // reject the connection in the interval window. if (last_check_time > 0 && time_now - last_check_time < interval) { _rtmp->response_connect_reject(_req, "bandcheck rejected"); - return srs_error_new(ERROR_SYSTEM_BANDWIDTH_DENIED, "reject, last_check=%" PRId64 ", now=%" PRId64 ", interval=%d", last_check_time, time_now, interval); + return srs_error_new(ERROR_SYSTEM_BANDWIDTH_DENIED, "reject, last_check=%" PRId64 ", now=%" PRId64 ", interval=%" PRId64 "", last_check_time, time_now, interval); } // accept and do bandwidth check. diff --git a/trunk/src/app/srs_app_config.cpp b/trunk/src/app/srs_app_config.cpp index b226c8cbe..625a3690c 100644 --- a/trunk/src/app/srs_app_config.cpp +++ b/trunk/src/app/srs_app_config.cpp @@ -620,6 +620,7 @@ srs_error_t srs_config_dumps_engine(SrsConfDirective* dir, SrsJsonObject* engine SrsConfDirective::SrsConfDirective() { + conf_line = 0; } SrsConfDirective::~SrsConfDirective() diff --git a/trunk/src/app/srs_app_edge.cpp b/trunk/src/app/srs_app_edge.cpp index a2f1c7330..98bb6152f 100644 --- a/trunk/src/app/srs_app_edge.cpp +++ b/trunk/src/app/srs_app_edge.cpp @@ -65,6 +65,7 @@ SrsEdgeRtmpUpstream::SrsEdgeRtmpUpstream(string r) { redirect = r; sdk = NULL; + selected_port = 0; } SrsEdgeRtmpUpstream::~SrsEdgeRtmpUpstream() diff --git a/trunk/src/app/srs_app_hls.cpp b/trunk/src/app/srs_app_hls.cpp index db6f4fcc2..81c7d7a79 100644 --- a/trunk/src/app/srs_app_hls.cpp +++ b/trunk/src/app/srs_app_hls.cpp @@ -200,6 +200,7 @@ SrsHlsMuxer::SrsHlsMuxer() accept_floor_ts = 0; hls_ts_floor = false; max_td = 0; + writer = NULL; _sequence_no = 0; current = NULL; hls_keys = false; @@ -758,6 +759,10 @@ srs_error_t SrsHlsMuxer::_refresh_m3u8(string m3u8_file) // #EXT-X-MEDIA-SEQUENCE:4294967295\n SrsHlsSegment* first = dynamic_cast(segments->first()); + if (first == NULL) { + return srs_error_new(ERROR_HLS_WRITE_FAILED, "segments cast"); + } + ss << "#EXT-X-MEDIA-SEQUENCE:" << first->sequence_no << SRS_CONSTS_LF; // #EXT-X-TARGETDURATION:4294967295\n diff --git a/trunk/src/app/srs_app_http_hooks.cpp b/trunk/src/app/srs_app_http_hooks.cpp index 5fd1d8cc3..61dd72348 100644 --- a/trunk/src/app/srs_app_http_hooks.cpp +++ b/trunk/src/app/srs_app_http_hooks.cpp @@ -532,7 +532,7 @@ srs_error_t SrsHttpHooks::do_post(SrsHttpClient* hc, std::string url, std::strin } if ((res_code->to_integer()) != ERROR_SUCCESS) { - return srs_error_new(ERROR_RESPONSE_CODE, "http: response object code %d %s", res_code->to_integer(), res.c_str()); + return srs_error_new(ERROR_RESPONSE_CODE, "http: response object code %" PRId64 " %s", res_code->to_integer(), res.c_str()); } return err; diff --git a/trunk/src/app/srs_app_ingest.cpp b/trunk/src/app/srs_app_ingest.cpp index b255d6be7..a8c7130e2 100644 --- a/trunk/src/app/srs_app_ingest.cpp +++ b/trunk/src/app/srs_app_ingest.cpp @@ -38,6 +38,7 @@ using namespace std; SrsIngesterFFMPEG::SrsIngesterFFMPEG() { ffmpeg = NULL; + starttime = 0; } SrsIngesterFFMPEG::~SrsIngesterFFMPEG() diff --git a/trunk/src/app/srs_app_listener.cpp b/trunk/src/app/srs_app_listener.cpp index cd847fa36..f2525057b 100755 --- a/trunk/src/app/srs_app_listener.cpp +++ b/trunk/src/app/srs_app_listener.cpp @@ -125,6 +125,7 @@ void SrsUdpListener::set_socket_buffer() int r0_sndbuf = 0; if (true) { socklen_t opt_len = sizeof(default_sndbuf); + // TODO: FIXME: check err getsockopt(fd(), SOL_SOCKET, SO_SNDBUF, (void*)&default_sndbuf, &opt_len); if ((r0_sndbuf = setsockopt(fd(), SOL_SOCKET, SO_SNDBUF, (void*)&actual_sndbuf, sizeof(actual_sndbuf))) < 0) { @@ -132,6 +133,7 @@ void SrsUdpListener::set_socket_buffer() } opt_len = sizeof(actual_sndbuf); + // TODO: FIXME: check err getsockopt(fd(), SOL_SOCKET, SO_SNDBUF, (void*)&actual_sndbuf, &opt_len); } @@ -142,6 +144,7 @@ void SrsUdpListener::set_socket_buffer() int r0_rcvbuf = 0; if (true) { socklen_t opt_len = sizeof(default_rcvbuf); + // TODO: FIXME: check err getsockopt(fd(), SOL_SOCKET, SO_RCVBUF, (void*)&default_rcvbuf, &opt_len); if ((r0_rcvbuf = setsockopt(fd(), SOL_SOCKET, SO_RCVBUF, (void*)&actual_rcvbuf, sizeof(actual_rcvbuf))) < 0) { @@ -149,6 +152,7 @@ void SrsUdpListener::set_socket_buffer() } opt_len = sizeof(actual_rcvbuf); + // TODO: FIXME: check err getsockopt(fd(), SOL_SOCKET, SO_RCVBUF, (void*)&actual_rcvbuf, &opt_len); } @@ -288,6 +292,7 @@ SrsUdpMuxSocket::SrsUdpMuxSocket(srs_netfd_t fd) lfd = fd; fromlen = 0; + peer_port = 0; } SrsUdpMuxSocket::~SrsUdpMuxSocket() diff --git a/trunk/src/app/srs_app_rtc_codec.cpp b/trunk/src/app/srs_app_rtc_codec.cpp index 061debfab..93c39ff81 100644 --- a/trunk/src/app/srs_app_rtc_codec.cpp +++ b/trunk/src/app/srs_app_rtc_codec.cpp @@ -170,6 +170,7 @@ srs_error_t SrsAudioEncoder::initialize() case 24000: opus_encoder_ctl(opus_, OPUS_SET_MAX_BANDWIDTH(OPUS_BANDWIDTH_SUPERWIDEBAND)); + break; case 16000: opus_encoder_ctl(opus_, OPUS_SET_MAX_BANDWIDTH(OPUS_BANDWIDTH_WIDEBAND)); @@ -343,6 +344,11 @@ SrsAudioRecode::SrsAudioRecode(int channels, int samplerate) { size_ = 0; data_ = new char[kPcmBufMax]; + + dec_ = NULL; + enc_ = NULL; + resample_ = NULL; + data_ = NULL; } SrsAudioRecode::~SrsAudioRecode() diff --git a/trunk/src/app/srs_app_rtc_dtls.cpp b/trunk/src/app/srs_app_rtc_dtls.cpp index ad72d305d..c0c7a486c 100644 --- a/trunk/src/app/srs_app_rtc_dtls.cpp +++ b/trunk/src/app/srs_app_rtc_dtls.cpp @@ -316,6 +316,8 @@ SrsDtlsImpl::SrsDtlsImpl(ISrsDtlsCallback* callback) { dtls_ctx = NULL; dtls = NULL; + bio_in = NULL; + bio_out = NULL; callback_ = callback; handshake_done_for_us = false; diff --git a/trunk/src/app/srs_app_rtc_queue.cpp b/trunk/src/app/srs_app_rtc_queue.cpp index ff820ab8b..f569e178c 100644 --- a/trunk/src/app/srs_app_rtc_queue.cpp +++ b/trunk/src/app/srs_app_rtc_queue.cpp @@ -189,6 +189,7 @@ SrsRtpNackForReceiver::SrsRtpNackForReceiver(SrsRtpRingBuffer* rtp, size_t queue rtp_ = rtp; pre_check_time_ = 0; last_remove_packet_time_ = -1; + rtt_ = 0; srs_info("max_queue_size=%u, nack opt: max_count=%d, max_alive_time=%us, first_nack_interval=%" PRId64 ", nack_interval=%" PRId64, max_queue_size_, opts_.max_count, opts_.max_alive_time, opts.first_nack_interval, opts_.nack_interval); diff --git a/trunk/src/app/srs_app_rtc_sdp.cpp b/trunk/src/app/srs_app_rtc_sdp.cpp index 3ae538e99..f03a3d992 100644 --- a/trunk/src/app/srs_app_rtc_sdp.cpp +++ b/trunk/src/app/srs_app_rtc_sdp.cpp @@ -254,6 +254,7 @@ srs_error_t SrsSSRCGroup::encode(std::ostringstream& os) SrsMediaPayloadType::SrsMediaPayloadType(int payload_type) { payload_type_ = payload_type; + clock_rate_ = 0; } SrsMediaPayloadType::~SrsMediaPayloadType() @@ -288,7 +289,9 @@ SrsMediaDesc::SrsMediaDesc(const std::string& type) { type_ = type; + port_ = 0; rtcp_mux_ = false; + rtcp_rsize_ = false; sendrecv_ = false; recvonly_ = false; diff --git a/trunk/src/app/srs_app_rtc_source.cpp b/trunk/src/app/srs_app_rtc_source.cpp index 452083fc6..c88e09e32 100644 --- a/trunk/src/app/srs_app_rtc_source.cpp +++ b/trunk/src/app/srs_app_rtc_source.cpp @@ -539,6 +539,8 @@ SrsRtcFromRtmpBridger::SrsRtcFromRtmpBridger(SrsRtcStream* source) // audio track description if (true) { SrsRtcTrackDescription* audio_track_desc = new SrsRtcTrackDescription(); + SrsAutoFree(SrsRtcTrackDescription, audio_track_desc); + audio_track_desc->type_ = "audio"; audio_track_desc->id_ = "audio-" + srs_random_str(8); @@ -553,6 +555,8 @@ SrsRtcFromRtmpBridger::SrsRtcFromRtmpBridger(SrsRtcStream* source) // video track description if (true) { SrsRtcTrackDescription* video_track_desc = new SrsRtcTrackDescription(); + SrsAutoFree(SrsRtcTrackDescription, video_track_desc); + video_track_desc->type_ = "video"; video_track_desc->id_ = "video-" + srs_random_str(8); @@ -1117,6 +1121,8 @@ void SrsRtcDummyBridger::on_unpublish() SrsCodecPayload::SrsCodecPayload() { + pt_ = 0; + sample_ = 0; } SrsCodecPayload::SrsCodecPayload(uint8_t pt, std::string encode_name, int sample) @@ -1249,7 +1255,7 @@ srs_error_t SrsVideoPayload::set_h264_param_desc(std::string fmtp) SrsAudioPayload::SrsAudioPayload() { - type_ = "audio"; + channel_ = 0; } SrsAudioPayload::SrsAudioPayload(uint8_t pt, std::string encode_name, int sample, int channel) @@ -1331,6 +1337,7 @@ srs_error_t SrsAudioPayload::set_opus_param_desc(std::string fmtp) SrsRedPayload::SrsRedPayload() { + channel_ = 0; } SrsRedPayload::SrsRedPayload(uint8_t pt, std::string encode_name, int sample, int channel) @@ -1604,6 +1611,8 @@ SrsRtcRecvTrack::SrsRtcRecvTrack(SrsRtcConnection* session, SrsRtcTrackDescripti rtp_queue_ = new SrsRtpRingBuffer(1000); nack_receiver_ = new SrsRtpNackForReceiver(rtp_queue_, 1000 * 2 / 3); } + + last_sender_report_sys_time = 0; } SrsRtcRecvTrack::~SrsRtcRecvTrack() diff --git a/trunk/src/app/srs_app_rtc_source.hpp b/trunk/src/app/srs_app_rtc_source.hpp index 09893c6a1..abd1d072d 100644 --- a/trunk/src/app/srs_app_rtc_source.hpp +++ b/trunk/src/app/srs_app_rtc_source.hpp @@ -308,6 +308,12 @@ class SrsAudioPayload : public SrsCodecPayload int minptime; bool use_inband_fec; bool usedtx; + + SrsOpusParameter() { + minptime = 0; + use_inband_fec = false; + usedtx = false; + } }; public: diff --git a/trunk/src/app/srs_app_rtsp.cpp b/trunk/src/app/srs_app_rtsp.cpp index 330968c2f..a3c66728d 100644 --- a/trunk/src/app/srs_app_rtsp.cpp +++ b/trunk/src/app/srs_app_rtsp.cpp @@ -193,6 +193,11 @@ SrsRtspConn::SrsRtspConn(SrsRtspCaster* c, srs_netfd_t fd, std::string o) skt = new SrsStSocket(); rtsp = new SrsRtspStack(skt); trd = new SrsSTCoroutine("rtsp", this); + + audio_id = 0; + video_id = 0; + audio_sample_rate = 0; + audio_channel = 0; req = NULL; sdk = NULL; @@ -223,6 +228,9 @@ SrsRtspConn::~SrsRtspConn() srs_freep(vjitter); srs_freep(ajitter); + + srs_freep(avc); + srs_freep(aac); srs_freep(acodec); srs_freep(acache); } diff --git a/trunk/src/app/srs_app_server.cpp b/trunk/src/app/srs_app_server.cpp index 39eb011ce..c595c3dd7 100644 --- a/trunk/src/app/srs_app_server.cpp +++ b/trunk/src/app/srs_app_server.cpp @@ -877,7 +877,7 @@ srs_error_t SrsServer::acquire_pid_file() // write the pid string pid = srs_int2str(getpid()); if (write(fd, pid.c_str(), pid.length()) != (int)pid.length()) { - return srs_error_new(ERROR_SYSTEM_PID_WRITE_FILE, "write pid=%d to file=%s", pid.c_str(), pid_file.c_str()); + return srs_error_new(ERROR_SYSTEM_PID_WRITE_FILE, "write pid=%s to file=%s", pid.c_str(), pid_file.c_str()); } // auto close when fork child process. diff --git a/trunk/src/app/srs_app_utility.cpp b/trunk/src/app/srs_app_utility.cpp index aea7b5ade..f3857b178 100644 --- a/trunk/src/app/srs_app_utility.cpp +++ b/trunk/src/app/srs_app_utility.cpp @@ -940,6 +940,9 @@ SrsNetworkRtmpServer::SrsNetworkRtmpServer() nb_conn_sys = nb_conn_srs = 0; nb_conn_sys_et = nb_conn_sys_tw = 0; nb_conn_sys_udp = 0; + rkbps = skbps = 0; + rkbps_30s = skbps_30s = 0; + rkbps_5m = skbps_5m = 0; } static SrsNetworkRtmpServer _srs_network_rtmp_server; diff --git a/trunk/src/kernel/srs_kernel_mp4.cpp b/trunk/src/kernel/srs_kernel_mp4.cpp index f72d258f2..e754a0c83 100644 --- a/trunk/src/kernel/srs_kernel_mp4.cpp +++ b/trunk/src/kernel/srs_kernel_mp4.cpp @@ -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() diff --git a/trunk/src/kernel/srs_kernel_rtc_rtcp.cpp b/trunk/src/kernel/srs_kernel_rtc_rtcp.cpp index e5e657d94..d9b4be257 100644 --- a/trunk/src/kernel/srs_kernel_rtc_rtcp.cpp +++ b/trunk/src/kernel/srs_kernel_rtc_rtcp.cpp @@ -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() diff --git a/trunk/src/kernel/srs_kernel_rtc_rtcp.hpp b/trunk/src/kernel/srs_kernel_rtc_rtcp.hpp index c59759dd2..588acb89a 100644 --- a/trunk/src/kernel/srs_kernel_rtc_rtcp.hpp +++ b/trunk/src/kernel/srs_kernel_rtc_rtcp.hpp @@ -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 diff --git a/trunk/src/kernel/srs_kernel_rtc_rtp.cpp b/trunk/src/kernel/srs_kernel_rtc_rtp.cpp index 4bea9b230..481d24bfe 100644 --- a/trunk/src/kernel/srs_kernel_rtc_rtp.cpp +++ b/trunk/src/kernel/srs_kernel_rtc_rtp.cpp @@ -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); } diff --git a/trunk/src/kernel/srs_kernel_ts.cpp b/trunk/src/kernel/srs_kernel_ts.cpp index 6b5280ece..d0e0d44a0 100644 --- a/trunk/src/kernel/srs_kernel_ts.cpp +++ b/trunk/src/kernel/srs_kernel_ts.cpp @@ -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() diff --git a/trunk/src/protocol/srs_protocol_amf0.cpp b/trunk/src/protocol/srs_protocol_amf0.cpp index 3af4d2d7e..c0a478c1f 100644 --- a/trunk/src/protocol/srs_protocol_amf0.cpp +++ b/trunk/src/protocol/srs_protocol_amf0.cpp @@ -1761,7 +1761,7 @@ namespace _srs_internal // data if (!stream->require((int)value.length())) { - return srs_error_new(ERROR_RTMP_AMF0_ENCODE, "requires %d only %d bytes", value.length(), stream->left()); + return srs_error_new(ERROR_RTMP_AMF0_ENCODE, "requires %" PRIu64 " only %d bytes", value.length(), stream->left()); } stream->write_string(value); diff --git a/trunk/src/protocol/srs_rtc_stun_stack.cpp b/trunk/src/protocol/srs_rtc_stun_stack.cpp index f35b4f942..fe7f2385f 100644 --- a/trunk/src/protocol/srs_rtc_stun_stack.cpp +++ b/trunk/src/protocol/srs_rtc_stun_stack.cpp @@ -92,6 +92,8 @@ SrsStunPacket::SrsStunPacket() use_candidate = false; ice_controlled = false; ice_controlling = false; + mapped_port = 0; + mapped_address = 0; } SrsStunPacket::~SrsStunPacket() diff --git a/trunk/src/protocol/srs_rtmp_handshake.cpp b/trunk/src/protocol/srs_rtmp_handshake.cpp index a397941bd..9a419a6ce 100644 --- a/trunk/src/protocol/srs_rtmp_handshake.cpp +++ b/trunk/src/protocol/srs_rtmp_handshake.cpp @@ -865,6 +865,8 @@ namespace _srs_internal c1s1::c1s1() { payload = NULL; + version = 0; + time = 0; } c1s1::~c1s1() { diff --git a/trunk/src/protocol/srs_rtsp_stack.cpp b/trunk/src/protocol/srs_rtsp_stack.cpp index c1e828e44..1237f6454 100644 --- a/trunk/src/protocol/srs_rtsp_stack.cpp +++ b/trunk/src/protocol/srs_rtsp_stack.cpp @@ -792,6 +792,9 @@ SrsRtspSetupResponse::SrsRtspSetupResponse(int seq) : SrsRtspResponse(seq) { local_port_min = 0; local_port_max = 0; + + client_port_min = 0; + client_port_max = 0; } SrsRtspSetupResponse::~SrsRtspSetupResponse() diff --git a/trunk/src/protocol/srs_service_http_conn.cpp b/trunk/src/protocol/srs_service_http_conn.cpp index f96bae831..185634046 100644 --- a/trunk/src/protocol/srs_service_http_conn.cpp +++ b/trunk/src/protocol/srs_service_http_conn.cpp @@ -319,6 +319,7 @@ SrsHttpMessage::SrsHttpMessage(ISrsReader* reader, SrsFastStream* buffer) : ISrs _content_length = -1; // From HTTP/1.1, default to keep alive. _keep_alive = true; + type_ = 0; } SrsHttpMessage::~SrsHttpMessage()