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

@ -81,11 +81,13 @@ class VCMReceiver {
void RegisterStatsCallback(VCMReceiveStatisticsCallback* callback);
void TriggerDecoderShutdown();
private:
static int32_t GenerateReceiverId();
CriticalSectionWrapper* crit_sect_;
Clock* clock_;
Clock* const clock_;
VCMJitterBuffer jitter_buffer_;
VCMTiming* timing_;
scoped_ptr<EventWrapper> render_wait_event_;