Home | History | Annotate | Download | only in media
      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