Commit eb382c3f by Dw9 Committed by GitHub

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

bug触发条件:
1、obs whip 推流到zlm
2、关闭推流
3、zlm 未注销流
parent 19d6f1a0
...@@ -149,7 +149,7 @@ void WebRtcPusher::onRtcConfigure(RtcConfigure &configure) const { ...@@ -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 ...@@ -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
\ No newline at end of file
...@@ -23,15 +23,17 @@ public: ...@@ -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///////
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论