Signal threads for faster receiver destruction.

Unblocks pending threads (render thread + decoder thread) when
destroying renderers and shutting down decoders.

Speeds up SetLocalDescription significantly (10x or so) under
WebRtcVideoEngine2 but also shutdown times in ~ViEChannel and
~ViEReceiver in general.

BUG=1788
R=mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/41959004

Cr-Commit-Position: refs/heads/master@{#8387}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8387 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
pbos@webrtc.org
2015-02-17 13:22:43 +00:00
parent 0a7d4eed98
commit 4dd40d6b88
8 changed files with 36 additions and 12 deletions

View File

@ -335,6 +335,10 @@ int VideoReceiver::RegisterRenderBufferSizeCallback(
return VCM_OK;
}
void VideoReceiver::TriggerDecoderShutdown() {
_receiver.TriggerDecoderShutdown();
}
// Decode next frame, blocking.
// Should be called as often as possible to get the most out of the decoder.
int32_t VideoReceiver::Decode(uint16_t maxWaitTimeMs) {