Add some sanity CHECKs to webrtc::Call.
These checks would help catching double-deletes, forgetting to destroy streams and also catch if VideoEngine has held on to any stale references. BUG=1788 R=stefan@webrtc.org Review URL: https://webrtc-codereview.appspot.com/42929004 Cr-Commit-Position: refs/heads/master@{#8866}
This commit is contained in:
parent
c79f7edd4e
commit
9b5f96e6a2
@ -229,6 +229,8 @@ Call::Call(webrtc::VideoEngine* video_engine, const Call::Config& config)
|
|||||||
}
|
}
|
||||||
|
|
||||||
Call::~Call() {
|
Call::~Call() {
|
||||||
|
CHECK_EQ(0u, send_ssrcs_.size());
|
||||||
|
CHECK_EQ(0u, receive_ssrcs_.size());
|
||||||
base_->DeleteChannel(base_channel_id_);
|
base_->DeleteChannel(base_channel_id_);
|
||||||
|
|
||||||
render_->DeRegisterVideoRenderModule(*external_render_.get());
|
render_->DeRegisterVideoRenderModule(*external_render_.get());
|
||||||
@ -238,7 +240,7 @@ Call::~Call() {
|
|||||||
codec_->Release();
|
codec_->Release();
|
||||||
render_->Release();
|
render_->Release();
|
||||||
rtp_rtcp_->Release();
|
rtp_rtcp_->Release();
|
||||||
webrtc::VideoEngine::Delete(video_engine_);
|
CHECK(webrtc::VideoEngine::Delete(video_engine_));
|
||||||
}
|
}
|
||||||
|
|
||||||
PacketReceiver* Call::Receiver() { return this; }
|
PacketReceiver* Call::Receiver() { return this; }
|
||||||
@ -288,6 +290,7 @@ void Call::DestroyVideoSendStream(webrtc::VideoSendStream* send_stream) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
CHECK(send_stream_impl != nullptr);
|
||||||
|
|
||||||
VideoSendStream::RtpStateMap rtp_state = send_stream_impl->GetRtpStates();
|
VideoSendStream::RtpStateMap rtp_state = send_stream_impl->GetRtpStates();
|
||||||
|
|
||||||
@ -297,7 +300,6 @@ void Call::DestroyVideoSendStream(webrtc::VideoSendStream* send_stream) {
|
|||||||
suspended_send_ssrcs_[it->first] = it->second;
|
suspended_send_ssrcs_[it->first] = it->second;
|
||||||
}
|
}
|
||||||
|
|
||||||
DCHECK(send_stream_impl != nullptr);
|
|
||||||
delete send_stream_impl;
|
delete send_stream_impl;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -352,8 +354,7 @@ void Call::DestroyVideoReceiveStream(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
CHECK(receive_stream_impl != nullptr);
|
||||||
DCHECK(receive_stream_impl != nullptr);
|
|
||||||
delete receive_stream_impl;
|
delete receive_stream_impl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user