Clear old decoders after recreating the receiver.

Prevents UAF when switching decoder capabilities and the
previously-supported decoder is currently being received on.

BUG=chromium:565967
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1490233010 .

Cr-Commit-Position: refs/heads/master@{#10898}
diff --git a/talk/media/webrtc/webrtcvideoengine2.cc b/talk/media/webrtc/webrtcvideoengine2.cc
index 308b68b..844b118 100644
--- a/talk/media/webrtc/webrtcvideoengine2.cc
+++ b/talk/media/webrtc/webrtcvideoengine2.cc
@@ -2376,10 +2376,10 @@
   config_.rtp.nack.rtp_history_ms =
       HasNack(recv_codecs.begin()->codec) ? kNackHistoryMs : 0;
 
-  ClearDecoders(&old_decoders);
   LOG(LS_INFO) << "RecreateWebRtcStream (recv) because of SetRecvCodecs: "
                << CodecSettingsVectorToString(recv_codecs);
   RecreateWebRtcStream();
+  ClearDecoders(&old_decoders);
 }
 
 void WebRtcVideoChannel2::WebRtcVideoReceiveStream::SetLocalSsrc(