Change order of tear down/create of default audio stream, to avoid starting/stopping audio card playout unnecessarily.

BUG=b/34746131

Review-Url: https://codereview.webrtc.org/2670183005
Cr-Commit-Position: refs/heads/master@{#16456}
diff --git a/webrtc/media/engine/webrtcvoiceengine.cc b/webrtc/media/engine/webrtcvoiceengine.cc
index 7029e5b..2db5526 100644
--- a/webrtc/media/engine/webrtcvoiceengine.cc
+++ b/webrtc/media/engine/webrtcvoiceengine.cc
@@ -2499,14 +2499,6 @@
     return;
   }
 
-  if (default_recv_ssrc_ != -1) {
-    LOG(LS_INFO) << "Removing default receive stream with ssrc "
-                 << default_recv_ssrc_;
-    RTC_DCHECK_NE(ssrc, default_recv_ssrc_);
-    RemoveRecvStream(default_recv_ssrc_);
-    default_recv_ssrc_ = -1;
-  }
-
   StreamParams sp;
   sp.ssrcs.push_back(ssrc);
   LOG(LS_INFO) << "Creating default receive stream for SSRC=" << ssrc << ".";
@@ -2514,7 +2506,14 @@
     LOG(LS_WARNING) << "Could not create default receive stream.";
     return;
   }
+  if (default_recv_ssrc_ != -1) {
+    LOG(LS_INFO) << "Removing default receive stream with ssrc "
+                 << default_recv_ssrc_;
+    RTC_DCHECK_NE(ssrc, default_recv_ssrc_);
+    RemoveRecvStream(default_recv_ssrc_);
+  }
   default_recv_ssrc_ = ssrc;
+
   SetOutputVolume(default_recv_ssrc_, default_recv_volume_);
   if (default_sink_) {
     std::unique_ptr<webrtc::AudioSinkInterface> proxy_sink(