Index: chrome/browser/media/webrtc_rtp_dump_handler.cc |
diff --git a/chrome/browser/media/webrtc_rtp_dump_handler.cc b/chrome/browser/media/webrtc_rtp_dump_handler.cc |
index 7b40ebffabe2169c0d0637616b2de555cbad1500..cad82f98ca4d2b3823bb4719327eee041f6fa343 100644 |
--- a/chrome/browser/media/webrtc_rtp_dump_handler.cc |
+++ b/chrome/browser/media/webrtc_rtp_dump_handler.cc |
@@ -330,13 +330,14 @@ void WebRtcRtpDumpHandler::OnDumpEnded(const base::Closure& callback, |
} |
} |
- if (!callback.is_null()) |
- callback.Run(); |
- |
// Release the writer when it's no longer needed. |
if (incoming_state_ != STATE_STOPPING && outgoing_state_ != STATE_STOPPING && |
incoming_state_ != STATE_STARTED && outgoing_state_ != STATE_STARTED) { |
dump_writer_.reset(); |
--g_ongoing_rtp_dumps; |
} |
+ |
+ // This object might be deleted after running the callback. |
+ if (!callback.is_null()) |
+ callback.Run(); |
} |