1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "content/renderer/media/webrtc_logging_initializer.h" 6 7 #include "content/public/renderer/render_thread.h" 8 #include "content/public/renderer/webrtc_log_message_delegate.h" 9 #include "content/renderer/render_thread_impl.h" 10 #include "third_party/libjingle/overrides/talk/base/logging.h" 11 12 namespace content { 13 14 // Shall only be set once and never go back to NULL. 15 WebRtcLogMessageDelegate* g_webrtc_logging_delegate = NULL; 16 17 void InitWebRtcLoggingDelegate(WebRtcLogMessageDelegate* delegate) { 18 CHECK(!g_webrtc_logging_delegate); 19 CHECK(delegate); 20 21 g_webrtc_logging_delegate = delegate; 22 } 23 24 void InitWebRtcLogging(const std::string& app_session_id, 25 const std::string& app_url) { 26 if (g_webrtc_logging_delegate) { 27 g_webrtc_logging_delegate->InitLogging(app_session_id, app_url); 28 talk_base::InitDiagnosticLoggingDelegateFunction(WebRtcLogMessage); 29 } 30 } 31 32 void WebRtcLogMessage(const std::string& message) { 33 if (g_webrtc_logging_delegate) 34 g_webrtc_logging_delegate->LogMessage(message); 35 } 36 37 } // namespace content 38