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

For #2142, Fix bug for fixing memory leak for bridger. 4.0.62

This commit is contained in:
winlin 2021-01-15 16:58:23 +08:00
parent 4e70bf5eaf
commit 4bb3ad5637
3 changed files with 12 additions and 2 deletions

View file

@ -531,6 +531,11 @@ srs_error_t SrsRtcStream::on_rtp(SrsRtpPacket2* pkt)
return err; return err;
} }
bool SrsRtcStream::has_stream_desc()
{
return stream_desc_;
}
void SrsRtcStream::set_stream_desc(SrsRtcStreamDescription* stream_desc) void SrsRtcStream::set_stream_desc(SrsRtcStreamDescription* stream_desc)
{ {
srs_freep(stream_desc_); srs_freep(stream_desc_);
@ -615,8 +620,12 @@ SrsRtcFromRtmpBridger::SrsRtcFromRtmpBridger(SrsRtcStream* source)
video_payload->set_h264_param_desc("level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f"); video_payload->set_h264_param_desc("level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f");
} }
// If the stream description has already been setup by RTC publisher,
// we should ignore and it's ok, because we only need to setup it for bridger.
if (!source_->has_stream_desc()) {
source_->set_stream_desc(stream_desc); source_->set_stream_desc(stream_desc);
} }
}
SrsRtcFromRtmpBridger::~SrsRtcFromRtmpBridger() SrsRtcFromRtmpBridger::~SrsRtcFromRtmpBridger()
{ {

View file

@ -216,6 +216,7 @@ public:
// Consume the shared RTP packet, user must free it. // Consume the shared RTP packet, user must free it.
srs_error_t on_rtp(SrsRtpPacket2* pkt); srs_error_t on_rtp(SrsRtpPacket2* pkt);
// Set and get stream description for souce // Set and get stream description for souce
bool has_stream_desc();
void set_stream_desc(SrsRtcStreamDescription* stream_desc); void set_stream_desc(SrsRtcStreamDescription* stream_desc);
std::vector<SrsRtcTrackDescription*> get_track_desc(std::string type, std::string media_type); std::vector<SrsRtcTrackDescription*> get_track_desc(std::string type, std::string media_type);
}; };

View file

@ -24,6 +24,6 @@
#ifndef SRS_CORE_VERSION4_HPP #ifndef SRS_CORE_VERSION4_HPP
#define SRS_CORE_VERSION4_HPP #define SRS_CORE_VERSION4_HPP
#define SRS_VERSION4_REVISION 61 #define SRS_VERSION4_REVISION 62
#endif #endif