Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(153)

Side by Side Diff: content/browser/media/webrtc_internals_message_handler.cc

Issue 1272223003: Implement writing mic audio input data to file for debugging purposes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/media/webrtc_internals_message_handler.h" 5 #include "content/browser/media/webrtc_internals_message_handler.h"
6 6
7 #include "content/browser/media/webrtc_internals.h" 7 #include "content/browser/media/webrtc_internals.h"
8 #include "content/common/media/peer_connection_tracker_messages.h" 8 #include "content/common/media/peer_connection_tracker_messages.h"
9 #include "content/public/browser/browser_thread.h" 9 #include "content/public/browser/browser_thread.h"
10 #include "content/public/browser/render_frame_host.h" 10 #include "content/public/browser/render_frame_host.h"
11 #include "content/public/browser/render_process_host.h" 11 #include "content/public/browser/render_process_host.h"
12 #include "content/public/browser/web_contents.h" 12 #include "content/public/browser/web_contents.h"
13 #include "content/public/browser/web_ui.h" 13 #include "content/public/browser/web_ui.h"
14 14
15 namespace content { 15 namespace content {
16 16
17 WebRTCInternalsMessageHandler::WebRTCInternalsMessageHandler() { 17 WebRTCInternalsMessageHandler::WebRTCInternalsMessageHandler() {
18 WebRTCInternals::GetInstance()->AddObserver(this); 18 WebRTCInternals::GetInstance()->AddObserver(this);
19 } 19 }
20 20
21 WebRTCInternalsMessageHandler::~WebRTCInternalsMessageHandler() { 21 WebRTCInternalsMessageHandler::~WebRTCInternalsMessageHandler() {
22 WebRTCInternals::GetInstance()->RemoveObserver(this); 22 WebRTCInternals::GetInstance()->RemoveObserver(this);
23 } 23 }
24 24
25 void WebRTCInternalsMessageHandler::RegisterMessages() { 25 void WebRTCInternalsMessageHandler::RegisterMessages() {
26 web_ui()->RegisterMessageCallback("getAllStats", 26 web_ui()->RegisterMessageCallback("getAllStats",
27 base::Bind(&WebRTCInternalsMessageHandler::OnGetAllStats, 27 base::Bind(&WebRTCInternalsMessageHandler::OnGetAllStats,
28 base::Unretained(this))); 28 base::Unretained(this)));
29 29
30 web_ui()->RegisterMessageCallback("enableAecRecording", 30 web_ui()->RegisterMessageCallback("enableAudioDebugRecordings",
31 base::Bind(&WebRTCInternalsMessageHandler::OnSetAecRecordingEnabled, 31 base::Bind(
32 base::Unretained(this), true)); 32 &WebRTCInternalsMessageHandler::OnSetAudioDebugRecordingsEnabled,
33 base::Unretained(this),
34 true));
33 35
34 web_ui()->RegisterMessageCallback("disableAecRecording", 36 web_ui()->RegisterMessageCallback("disableAudioDebugRecordings",
35 base::Bind(&WebRTCInternalsMessageHandler::OnSetAecRecordingEnabled, 37 base::Bind(
36 base::Unretained(this), false)); 38 &WebRTCInternalsMessageHandler::OnSetAudioDebugRecordingsEnabled,
39 base::Unretained(this),
40 false));
37 41
38 web_ui()->RegisterMessageCallback("finishedDOMLoad", 42 web_ui()->RegisterMessageCallback("finishedDOMLoad",
39 base::Bind(&WebRTCInternalsMessageHandler::OnDOMLoadDone, 43 base::Bind(&WebRTCInternalsMessageHandler::OnDOMLoadDone,
40 base::Unretained(this))); 44 base::Unretained(this)));
41 } 45 }
42 46
43 void WebRTCInternalsMessageHandler::OnGetAllStats( 47 void WebRTCInternalsMessageHandler::OnGetAllStats(
44 const base::ListValue* /* unused_list */) { 48 const base::ListValue* /* unused_list */) {
45 for (RenderProcessHost::iterator i( 49 for (RenderProcessHost::iterator i(
46 content::RenderProcessHost::AllHostsIterator()); 50 content::RenderProcessHost::AllHostsIterator());
47 !i.IsAtEnd(); i.Advance()) { 51 !i.IsAtEnd(); i.Advance()) {
48 i.GetCurrentValue()->Send(new PeerConnectionTracker_GetAllStats()); 52 i.GetCurrentValue()->Send(new PeerConnectionTracker_GetAllStats());
49 } 53 }
50 } 54 }
51 55
52 void WebRTCInternalsMessageHandler::OnSetAecRecordingEnabled( 56 void WebRTCInternalsMessageHandler::OnSetAudioDebugRecordingsEnabled(
53 bool enable, const base::ListValue* /* unused_list */) { 57 bool enable, const base::ListValue* /* unused_list */) {
54 if (enable) 58 if (enable) {
55 WebRTCInternals::GetInstance()->EnableAecDump(web_ui()->GetWebContents()); 59 WebRTCInternals::GetInstance()->EnableAudioDebugRecordings(
56 else 60 web_ui()->GetWebContents());
57 WebRTCInternals::GetInstance()->DisableAecDump(); 61 } else {
62 WebRTCInternals::GetInstance()->DisableAudioDebugRecordings();
63 }
58 } 64 }
59 65
60 void WebRTCInternalsMessageHandler::OnDOMLoadDone( 66 void WebRTCInternalsMessageHandler::OnDOMLoadDone(
61 const base::ListValue* /* unused_list */) { 67 const base::ListValue* /* unused_list */) {
62 WebRTCInternals::GetInstance()->UpdateObserver(this); 68 WebRTCInternals::GetInstance()->UpdateObserver(this);
63 69
64 if (WebRTCInternals::GetInstance()->aec_dump_enabled()) { 70 if (WebRTCInternals::GetInstance()->IsAudioDebugRecordingsEnabled()) {
65 std::vector<const base::Value*> args_vector; 71 std::vector<const base::Value*> args_vector;
66 base::string16 script = WebUI::GetJavascriptCall("setAecRecordingEnabled", 72 base::string16 script =
67 args_vector); 73 WebUI::GetJavascriptCall("setAudioDebugRecordingsEnabled", args_vector);
68 RenderFrameHost* host = web_ui()->GetWebContents()->GetMainFrame(); 74 RenderFrameHost* host = web_ui()->GetWebContents()->GetMainFrame();
69 if (host) 75 if (host)
70 host->ExecuteJavaScript(script); 76 host->ExecuteJavaScript(script);
71 } 77 }
72 } 78 }
73 79
74 void WebRTCInternalsMessageHandler::OnUpdate(const std::string& command, 80 void WebRTCInternalsMessageHandler::OnUpdate(const std::string& command,
75 const base::Value* args) { 81 const base::Value* args) {
76 DCHECK_CURRENTLY_ON(BrowserThread::UI); 82 DCHECK_CURRENTLY_ON(BrowserThread::UI);
77 std::vector<const base::Value*> args_vector; 83 std::vector<const base::Value*> args_vector;
78 if (args) 84 if (args)
79 args_vector.push_back(args); 85 args_vector.push_back(args);
80 base::string16 update = WebUI::GetJavascriptCall(command, args_vector); 86 base::string16 update = WebUI::GetJavascriptCall(command, args_vector);
81 87
82 RenderFrameHost* host = web_ui()->GetWebContents()->GetMainFrame(); 88 RenderFrameHost* host = web_ui()->GetWebContents()->GetMainFrame();
83 if (host) 89 if (host)
84 host->ExecuteJavaScript(update); 90 host->ExecuteJavaScript(update);
85 } 91 }
86 92
87 } // namespace content 93 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/media/webrtc_internals_message_handler.h ('k') | content/browser/media/webrtc_internals_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698