Fix race in DegradedCall::DestroyVideoSendStream

VideoSendStream might call SendRtp or SendRtcp asynchronously (for
instance periodic RTCP messages), so we must destroy the VideoSendStream
before FakeNetworkPipe, otherwise might crash in DegradedCall::SendRtcp.

Bug: webrtc:8910
Change-Id: I18e76c40a5213bd7378a39acba100edd9e2a193b
Reviewed-on: https://webrtc-review.googlesource.com/62341
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22468}
diff --git a/call/degraded_call.cc b/call/degraded_call.cc
index 356147f..6515b65 100644
--- a/call/degraded_call.cc
+++ b/call/degraded_call.cc
@@ -94,6 +94,7 @@
 }
 
 void DegradedCall::DestroyVideoSendStream(VideoSendStream* send_stream) {
+  call_->DestroyVideoSendStream(send_stream);
   if (send_pipe_ && num_send_streams_ > 0) {
     --num_send_streams_;
     if (num_send_streams_ == 0) {
@@ -101,7 +102,6 @@
       send_pipe_.reset();
     }
   }
-  call_->DestroyVideoSendStream(send_stream);
 }
 
 VideoReceiveStream* DegradedCall::CreateVideoReceiveStream(