Chromium Code Reviews| Index: content/browser/media/webrtc_internals.cc |
| diff --git a/content/browser/media/webrtc_internals.cc b/content/browser/media/webrtc_internals.cc |
| index 2ab4c4314f9d8d22e220bc0313f2ec9dcbff8f4f..03f6cd04899a3d925a8f4cb49d0419b36d17d7c4 100644 |
| --- a/content/browser/media/webrtc_internals.cc |
| +++ b/content/browser/media/webrtc_internals.cc |
| @@ -37,21 +37,22 @@ static base::ListValue* EnsureLogList(base::DictionaryValue* dict) { |
| } // namespace |
| WebRTCInternals::WebRTCInternals() |
| - : aec_dump_enabled_(false) { |
| + : audio_debug_recordings_(false) { |
| // TODO(grunell): Shouldn't all the webrtc_internals* files be excluded from the |
| // build if WebRTC is disabled? |
| #if defined(ENABLE_WEBRTC) |
| - aec_dump_file_path_ = |
| + audio_debug_recordings_file_path_ = |
| GetContentClient()->browser()->GetDefaultDownloadDirectory(); |
| - if (aec_dump_file_path_.empty()) { |
| - // In this case the default path (|aec_dump_file_path_|) will be empty and |
| - // the platform default path will be used in the file dialog (with no |
| - // default file name). See SelectFileDialog::SelectFile. On Android where |
| - // there's no dialog we'll fail to open the file. |
| + if (audio_debug_recordings_file_path_.empty()) { |
| + // In this case the default path (|audio_debug_recordings_file_path_|) will |
| + // be empty and the platform default path will be used in the file dialog |
| + // (with no default file name). See SelectFileDialog::SelectFile. On Android |
| + // where there's no dialog we'll fail to open the file. |
| VLOG(1) << "Could not get the download directory."; |
| } else { |
| - aec_dump_file_path_ = |
| - aec_dump_file_path_.Append(FILE_PATH_LITERAL("audio.aecdump")); |
| + audio_debug_recordings_file_path_ = |
| + audio_debug_recordings_file_path_.Append( |
| + FILE_PATH_LITERAL("audio_debug")); |
|
tommi (sloooow) - chröme
2015/08/19 11:32:21
is the extension no longer useful?
Henrik Grunell
2015/08/19 19:57:15
Yet other extensions are added to this. Also, this
|
| } |
| #endif // defined(ENABLE_WEBRTC) |
| } |
| @@ -221,10 +222,10 @@ void WebRTCInternals::RemoveObserver(WebRTCInternalsUIObserver *observer) { |
| DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| observers_.RemoveObserver(observer); |
| - // Disables the AEC recording if it is enabled and the last webrtc-internals |
| - // page is going away. |
| - if (aec_dump_enabled_ && !observers_.might_have_observers()) |
| - DisableAecDump(); |
| + // Disables audio debug recordings if it is enabled and the last |
| + // webrtc-internals page is going away. |
| + if (audio_debug_recordings_ && !observers_.might_have_observers()) |
| + DisableAudioDebugRecordings(); |
| } |
| void WebRTCInternals::UpdateObserver(WebRTCInternalsUIObserver* observer) { |
| @@ -239,16 +240,18 @@ void WebRTCInternals::UpdateObserver(WebRTCInternalsUIObserver* observer) { |
| } |
| } |
| -void WebRTCInternals::EnableAecDump(content::WebContents* web_contents) { |
| +void WebRTCInternals::EnableAudioDebugRecordings( |
| + content::WebContents* web_contents) { |
| #if defined(ENABLE_WEBRTC) |
| + DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| #if defined(OS_ANDROID) |
| - EnableAecDumpOnAllRenderProcessHosts(); |
| + EnableAudioDebugRecordingsOnAllRenderProcessHosts(); |
| #else |
| select_file_dialog_ = ui::SelectFileDialog::Create(this, NULL); |
| select_file_dialog_->SelectFile( |
| ui::SelectFileDialog::SELECT_SAVEAS_FILE, |
| base::string16(), |
| - aec_dump_file_path_, |
| + audio_debug_recordings_file_path_, |
| NULL, |
| 0, |
| FILE_PATH_LITERAL(""), |
| @@ -258,28 +261,40 @@ void WebRTCInternals::EnableAecDump(content::WebContents* web_contents) { |
| #endif |
| } |
| -void WebRTCInternals::DisableAecDump() { |
| +void WebRTCInternals::DisableAudioDebugRecordings() { |
| #if defined(ENABLE_WEBRTC) |
| - aec_dump_enabled_ = false; |
| + DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| + audio_debug_recordings_ = false; |
| - // Tear down the dialog since the user has unchecked the AEC dump box. |
| + // Tear down the dialog since the user has unchecked the audio debug |
| + // recordings box. |
| select_file_dialog_ = NULL; |
| for (RenderProcessHost::iterator i( |
| content::RenderProcessHost::AllHostsIterator()); |
| !i.IsAtEnd(); i.Advance()) { |
| - i.GetCurrentValue()->DisableAecDump(); |
| + i.GetCurrentValue()->DisableAudioDebugRecordings(); |
| } |
| #endif |
| } |
| +bool WebRTCInternals::IsAudioDebugRecordingsEnabled() const { |
| + DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| + return audio_debug_recordings_; |
| +} |
| + |
| +const base::FilePath& WebRTCInternals::GetAudioDebugRecordingsFilePath() const { |
| + DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| + return audio_debug_recordings_file_path_; |
| +} |
| + |
| void WebRTCInternals::ResetForTesting() { |
| DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| observers_.Clear(); |
| peer_connection_data_.Clear(); |
| CreateOrReleasePowerSaveBlocker(); |
| get_user_media_requests_.Clear(); |
| - aec_dump_enabled_ = false; |
| + audio_debug_recordings_ = false; |
| } |
| void WebRTCInternals::SendUpdate(const string& command, base::Value* value) { |
| @@ -302,14 +317,16 @@ void WebRTCInternals::FileSelected(const base::FilePath& path, |
| int /* unused_index */, |
| void* /*unused_params */) { |
| #if defined(ENABLE_WEBRTC) |
| - aec_dump_file_path_ = path; |
| - EnableAecDumpOnAllRenderProcessHosts(); |
| + DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| + audio_debug_recordings_file_path_ = path; |
| + EnableAudioDebugRecordingsOnAllRenderProcessHosts(); |
| #endif |
| } |
| void WebRTCInternals::FileSelectionCanceled(void* params) { |
| #if defined(ENABLE_WEBRTC) |
| - SendUpdate("aecRecordingFileSelectionCancelled", NULL); |
| + DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| + SendUpdate("audioDebugRecordingsFileSelectionCancelled", NULL); |
| #endif |
| } |
| @@ -365,12 +382,15 @@ void WebRTCInternals::OnRendererExit(int render_process_id) { |
| } |
| #if defined(ENABLE_WEBRTC) |
| -void WebRTCInternals::EnableAecDumpOnAllRenderProcessHosts() { |
| - aec_dump_enabled_ = true; |
| +void WebRTCInternals::EnableAudioDebugRecordingsOnAllRenderProcessHosts() { |
| + DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| + |
| + audio_debug_recordings_ = true; |
| for (RenderProcessHost::iterator i( |
| content::RenderProcessHost::AllHostsIterator()); |
| !i.IsAtEnd(); i.Advance()) { |
| - i.GetCurrentValue()->EnableAecDump(aec_dump_file_path_); |
| + i.GetCurrentValue()->EnableAudioDebugRecordings( |
| + audio_debug_recordings_file_path_); |
| } |
| } |
| #endif |