Fix WHIP with transcoding bug. v6.0.178 (#4495)

This commit is contained in:
winlin 2025-09-20 22:22:34 -04:00
parent e325eec008
commit f22a5db38a
3 changed files with 12 additions and 5 deletions

View File

@ -7,6 +7,7 @@ The changelog for SRS.
<a name="v6-changes"></a>
## SRS 6.0 Changelog
* v6.0, 2025-09-20, Fix WHIP with transcoding bug. v6.0.178 (#4495)
* v6.0, 2025-09-15, RTC2RTMP: Fix sequence number wraparound assertion crashes. v6.0.177 (#4491)
* v6.0, 2025-09-05, RTX: Fix race condition for timer. v6.0.176 (#4470) (#4474)
* v6.0, 2025-08-26, Merge [#4451](https://github.com/ossrs/srs/pull/4451): RTC: Fix null pointer crash in RTC2RTMP when start packet is missing. v6.0.175 (#4451)

View File

@ -541,6 +541,10 @@ void SrsRtcSource::set_bridge(ISrsStreamBridge* bridge)
srs_freep(bridge_);
bridge_ = bridge;
if (!bridge) {
return;
}
#ifdef SRS_FFMPEG_FIT
srs_freep(frame_builder_);
frame_builder_ = new SrsRtcFrameBuilder(bridge);
@ -626,11 +630,11 @@ srs_error_t SrsRtcSource::on_publish()
// If bridge to other source, handle event and start timer to request PLI.
if (bridge_) {
#ifdef SRS_FFMPEG_FIT
if ((err = frame_builder_->initialize(req)) != srs_success) {
if (frame_builder_ && (err = frame_builder_->initialize(req)) != srs_success) {
return srs_error_wrap(err, "frame builder initialize");
}
if ((err = frame_builder_->on_publish()) != srs_success) {
if (frame_builder_ && (err = frame_builder_->on_publish()) != srs_success) {
return srs_error_wrap(err, "frame builder on publish");
}
#endif
@ -680,8 +684,10 @@ void SrsRtcSource::on_unpublish()
_srs_hybrid->timer100ms()->unsubscribe(this);
#ifdef SRS_FFMPEG_FIT
frame_builder_->on_unpublish();
srs_freep(frame_builder_);
if (frame_builder_) {
frame_builder_->on_unpublish();
srs_freep(frame_builder_);
}
#endif
bridge_->on_unpublish();

View File

@ -9,6 +9,6 @@
#define VERSION_MAJOR 6
#define VERSION_MINOR 0
#define VERSION_REVISION 177
#define VERSION_REVISION 178
#endif