Fix WHIP with transcoding bug. v6.0.178 (#4495)
This commit is contained in:
parent
e325eec008
commit
f22a5db38a
|
|
@ -7,6 +7,7 @@ The changelog for SRS.
|
||||||
<a name="v6-changes"></a>
|
<a name="v6-changes"></a>
|
||||||
|
|
||||||
## SRS 6.0 Changelog
|
## 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-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-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)
|
* 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)
|
||||||
|
|
|
||||||
|
|
@ -541,6 +541,10 @@ void SrsRtcSource::set_bridge(ISrsStreamBridge* bridge)
|
||||||
srs_freep(bridge_);
|
srs_freep(bridge_);
|
||||||
bridge_ = bridge;
|
bridge_ = bridge;
|
||||||
|
|
||||||
|
if (!bridge) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef SRS_FFMPEG_FIT
|
#ifdef SRS_FFMPEG_FIT
|
||||||
srs_freep(frame_builder_);
|
srs_freep(frame_builder_);
|
||||||
frame_builder_ = new SrsRtcFrameBuilder(bridge);
|
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 to other source, handle event and start timer to request PLI.
|
||||||
if (bridge_) {
|
if (bridge_) {
|
||||||
#ifdef SRS_FFMPEG_FIT
|
#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");
|
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");
|
return srs_error_wrap(err, "frame builder on publish");
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -680,8 +684,10 @@ void SrsRtcSource::on_unpublish()
|
||||||
_srs_hybrid->timer100ms()->unsubscribe(this);
|
_srs_hybrid->timer100ms()->unsubscribe(this);
|
||||||
|
|
||||||
#ifdef SRS_FFMPEG_FIT
|
#ifdef SRS_FFMPEG_FIT
|
||||||
frame_builder_->on_unpublish();
|
if (frame_builder_) {
|
||||||
srs_freep(frame_builder_);
|
frame_builder_->on_unpublish();
|
||||||
|
srs_freep(frame_builder_);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
bridge_->on_unpublish();
|
bridge_->on_unpublish();
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,6 @@
|
||||||
|
|
||||||
#define VERSION_MAJOR 6
|
#define VERSION_MAJOR 6
|
||||||
#define VERSION_MINOR 0
|
#define VERSION_MINOR 0
|
||||||
#define VERSION_REVISION 177
|
#define VERSION_REVISION 178
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user