Index: webrtc/video/video_receive_stream.cc |
diff --git a/webrtc/video/video_receive_stream.cc b/webrtc/video/video_receive_stream.cc |
index ad9beb35e75384801cf03d264f935a7137a9b383..609a789fa2b530a2d65ecdb29c10fe98ee1b66eb 100644 |
--- a/webrtc/video/video_receive_stream.cc |
+++ b/webrtc/video/video_receive_stream.cc |
@@ -267,6 +267,9 @@ void VideoReceiveStream::Start() { |
void VideoReceiveStream::Stop() { |
rtp_stream_receiver_.StopReceive(); |
+ // TriggerDecoderShutdown will release any waiting decoder thread and make it |
+ // stop immediately, instead of waiting for a timeout. Needs to be called |
+ // before joining the decoder thread thread. |
video_receiver_.TriggerDecoderShutdown(); |
decode_thread_.Stop(); |
call_stats_->DeregisterStatsObserver(video_stream_decoder_.get()); |