diff --git a/trunk/doc/CHANGELOG.md b/trunk/doc/CHANGELOG.md index 6122b2121..1e9877d94 100644 --- a/trunk/doc/CHANGELOG.md +++ b/trunk/doc/CHANGELOG.md @@ -7,6 +7,7 @@ The changelog for SRS. ## 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) diff --git a/trunk/src/app/srs_app_rtc_source.cpp b/trunk/src/app/srs_app_rtc_source.cpp index 229ca049f..cb05232c2 100644 --- a/trunk/src/app/srs_app_rtc_source.cpp +++ b/trunk/src/app/srs_app_rtc_source.cpp @@ -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(); diff --git a/trunk/src/core/srs_core_version6.hpp b/trunk/src/core/srs_core_version6.hpp index a47cbcd67..e81210619 100644 --- a/trunk/src/core/srs_core_version6.hpp +++ b/trunk/src/core/srs_core_version6.hpp @@ -9,6 +9,6 @@ #define VERSION_MAJOR 6 #define VERSION_MINOR 0 -#define VERSION_REVISION 177 +#define VERSION_REVISION 178 #endif