修复whip delete_webrtc未注销流 (#2688)

bug触发条件:
1、obs whip 推流到zlm
2、关闭推流
3、zlm 未注销流
This commit is contained in:
Dw9 2023-07-22 10:46:17 +08:00 committed by GitHub
parent 19d6f1a003
commit eb382c3fc9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 3 deletions

View File

@ -149,7 +149,7 @@ void WebRtcPusher::onRtcConfigure(RtcConfigure &configure) const {
configure.audio.direction = configure.video.direction = RtpDirection::recvonly; configure.audio.direction = configure.video.direction = RtpDirection::recvonly;
} }
float WebRtcPusher::getLossRate(MediaSource &sender,TrackType type){ float WebRtcPusher::getLossRate(MediaSource &sender,TrackType type) {
return WebRtcTransportImp::getLossRate(type); return WebRtcTransportImp::getLossRate(type);
} }
@ -159,8 +159,13 @@ void WebRtcPusher::OnDtlsTransportClosed(const RTC::DtlsTransport *dtlsTransport
WebRtcTransportImp::OnDtlsTransportClosed(dtlsTransport); WebRtcTransportImp::OnDtlsTransportClosed(dtlsTransport);
} }
void WebRtcPusher::onRtcpBye(){ void WebRtcPusher::onRtcpBye() {
WebRtcTransportImp::onRtcpBye(); WebRtcTransportImp::onRtcpBye();
} }
void WebRtcPusher::onShutdown(const SockException &ex) {
_push_src = nullptr;
WebRtcTransportImp::onShutdown(ex);
}
}// namespace mediakit }// namespace mediakit

View File

@ -23,15 +23,17 @@ public:
static Ptr create(const EventPoller::Ptr &poller, const RtspMediaSource::Ptr &src, static Ptr create(const EventPoller::Ptr &poller, const RtspMediaSource::Ptr &src,
const std::shared_ptr<void> &ownership, const MediaInfo &info, const ProtocolOption &option, bool preferred_tcp = false); const std::shared_ptr<void> &ownership, const MediaInfo &info, const ProtocolOption &option, bool preferred_tcp = false);
protected: protected:
///////WebRtcTransportImp override/////// ///////WebRtcTransportImp override///////
void onStartWebRTC() override; void onStartWebRTC() override;
void onDestory() override; void onDestory() override;
void onRtcConfigure(RtcConfigure &configure) const override; void onRtcConfigure(RtcConfigure &configure) const override;
void onRecvRtp(MediaTrack &track, const std::string &rid, RtpPacket::Ptr rtp) override; void onRecvRtp(MediaTrack &track, const std::string &rid, RtpPacket::Ptr rtp) override;
void onShutdown(const SockException &ex) override;
void onRtcpBye() override; void onRtcpBye() override;
//// dtls相关的回调 //// //// dtls相关的回调 ////
void OnDtlsTransportClosed(const RTC::DtlsTransport *dtlsTransport) override; void OnDtlsTransportClosed(const RTC::DtlsTransport *dtlsTransport) override;
protected: protected:
///////MediaSourceEvent override/////// ///////MediaSourceEvent override///////