Skip to content
Snippets Groups Projects
Commit 947c7d40 authored by Adrien Béraud's avatar Adrien Béraud Committed by Sébastien Blin
Browse files

ice: unset callback on close

Change-Id: Iba4b98a1b9dd58c24945ee752084697419173049
parent 8806899a
No related branches found
No related tags found
No related merge requests found
...@@ -1957,6 +1957,8 @@ IceSocketTransport::remoteAddr() const ...@@ -1957,6 +1957,8 @@ IceSocketTransport::remoteAddr() const
void void
IceSocket::close() IceSocket::close()
{ {
if (ice_transport_)
ice_transport_->setOnRecv(compId_, {});
ice_transport_.reset(); ice_transport_.reset();
} }
......
...@@ -189,22 +189,18 @@ SocketPair::SocketPair(std::unique_ptr<IceSocket> rtp_sock, std::unique_ptr<IceS ...@@ -189,22 +189,18 @@ SocketPair::SocketPair(std::unique_ptr<IceSocket> rtp_sock, std::unique_ptr<IceS
: rtp_sock_(std::move(rtp_sock)) : rtp_sock_(std::move(rtp_sock))
, rtcp_sock_(std::move(rtcp_sock)) , rtcp_sock_(std::move(rtcp_sock))
{ {
auto queueRtpPacket = [this](uint8_t* buf, size_t len) { rtp_sock_->setOnRecv([this](uint8_t* buf, size_t len) {
std::lock_guard<std::mutex> l(dataBuffMutex_); std::lock_guard<std::mutex> l(dataBuffMutex_);
rtpDataBuff_.emplace_back(buf, buf + len); rtpDataBuff_.emplace_back(buf, buf + len);
cv_.notify_one(); cv_.notify_one();
return len; return len;
}; });
rtcp_sock_->setOnRecv([this](uint8_t* buf, size_t len) {
auto queueRtcpPacket = [this](uint8_t* buf, size_t len) {
std::lock_guard<std::mutex> l(dataBuffMutex_); std::lock_guard<std::mutex> l(dataBuffMutex_);
rtcpDataBuff_.emplace_back(buf, buf + len); rtcpDataBuff_.emplace_back(buf, buf + len);
cv_.notify_one(); cv_.notify_one();
return len; return len;
}; });
rtp_sock_->setOnRecv(queueRtpPacket);
rtcp_sock_->setOnRecv(queueRtcpPacket);
} }
SocketPair::~SocketPair() SocketPair::~SocketPair()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment