1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-02-15 04:42:04 +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;
}
bool SrsRtcStream::has_stream_desc()
{
return stream_desc_;
}
void SrsRtcStream::set_stream_desc(SrsRtcStreamDescription* stream_desc)
{
srs_freep(stream_desc_);
@ -615,7 +620,11 @@ SrsRtcFromRtmpBridger::SrsRtcFromRtmpBridger(SrsRtcStream* source)
video_payload->set_h264_param_desc("level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f");
}
source_->set_stream_desc(stream_desc);
// 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);
}
}
SrsRtcFromRtmpBridger::~SrsRtcFromRtmpBridger()

View file

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

View file

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