| Index: chrome/browser/media/webrtc_logging_handler_host.cc
|
| diff --git a/chrome/browser/media/webrtc_logging_handler_host.cc b/chrome/browser/media/webrtc_logging_handler_host.cc
|
| index e0c49cc30877974447a3a42173ca2805b7e3520c..0dd8f65aa0c81b5e4fe32fd021c40219bd5fffb9 100644
|
| --- a/chrome/browser/media/webrtc_logging_handler_host.cc
|
| +++ b/chrome/browser/media/webrtc_logging_handler_host.cc
|
| @@ -54,6 +54,10 @@
|
| using base::IntToString;
|
| using content::BrowserThread;
|
|
|
| +// Key used to attach the handler to the RenderProcessHost.
|
| +const char WebRtcLoggingHandlerHost::kWebRtcLoggingHandlerHostKey[] =
|
| + "kWebRtcLoggingHandlerHostKey";
|
| +
|
| namespace {
|
|
|
| const char kLogNotStoppedOrNoLogOpen[] =
|
| @@ -107,15 +111,6 @@ void FormatMetaDataAsLogMessage(
|
| message->resize(message->size() - 1);
|
| }
|
|
|
| -// Returns a path name to be used as prefix for audio debug recordings files.
|
| -base::FilePath GetAudioDebugRecordingsPrefixPath(
|
| - const base::FilePath& directory,
|
| - uint64_t audio_debug_recordings_id) {
|
| - static const char kAudioDebugRecordingsFilePrefix[] = "AudioDebugRecordings.";
|
| - return directory.AppendASCII(kAudioDebugRecordingsFilePrefix +
|
| - base::Int64ToString(audio_debug_recordings_id));
|
| -}
|
| -
|
| } // namespace
|
|
|
| WebRtcLogBuffer::WebRtcLogBuffer()
|
| @@ -158,9 +153,7 @@ WebRtcLoggingHandlerHost::WebRtcLoggingHandlerHost(
|
| profile_(profile),
|
| logging_state_(CLOSED),
|
| upload_log_on_render_close_(false),
|
| - log_uploader_(log_uploader),
|
| - is_audio_debug_recordings_in_progress_(false),
|
| - current_audio_debug_recordings_id_(0) {
|
| + log_uploader_(log_uploader) {
|
| DCHECK(profile_);
|
| DCHECK(log_uploader_);
|
| }
|
| @@ -443,35 +436,6 @@ void WebRtcLoggingHandlerHost::DumpRtpPacketOnIOThread(
|
| }
|
| }
|
|
|
| -void WebRtcLoggingHandlerHost::StartAudioDebugRecordings(
|
| - content::RenderProcessHost* host,
|
| - base::TimeDelta delay,
|
| - const AudioDebugRecordingsCallback& callback,
|
| - const AudioDebugRecordingsErrorCallback& error_callback) {
|
| - DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
| -
|
| - BrowserThread::PostTaskAndReplyWithResult(
|
| - BrowserThread::FILE, FROM_HERE,
|
| - base::Bind(&WebRtcLoggingHandlerHost::GetLogDirectoryAndEnsureExists,
|
| - this),
|
| - base::Bind(&WebRtcLoggingHandlerHost::DoStartAudioDebugRecordings, this,
|
| - host, delay, callback, error_callback));
|
| -}
|
| -
|
| -void WebRtcLoggingHandlerHost::StopAudioDebugRecordings(
|
| - content::RenderProcessHost* host,
|
| - const AudioDebugRecordingsCallback& callback,
|
| - const AudioDebugRecordingsErrorCallback& error_callback) {
|
| - DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
| - BrowserThread::PostTaskAndReplyWithResult(
|
| - BrowserThread::FILE, FROM_HERE,
|
| - base::Bind(&WebRtcLoggingHandlerHost::GetLogDirectoryAndEnsureExists,
|
| - this),
|
| - base::Bind(&WebRtcLoggingHandlerHost::DoStopAudioDebugRecordings, this,
|
| - host, true /* manual stop */,
|
| - current_audio_debug_recordings_id_, callback, error_callback));
|
| -}
|
| -
|
| void WebRtcLoggingHandlerHost::OnChannelClosing() {
|
| DCHECK_CURRENTLY_ON(BrowserThread::IO);
|
| if (logging_state_ == STARTED || logging_state_ == STOPPED) {
|
| @@ -808,69 +772,3 @@ void WebRtcLoggingHandlerHost::FireGenericDoneCallback(
|
| FROM_HERE,
|
| base::Bind(callback, success, error_message_with_state));
|
| }
|
| -
|
| -void WebRtcLoggingHandlerHost::DoStartAudioDebugRecordings(
|
| - content::RenderProcessHost* host,
|
| - base::TimeDelta delay,
|
| - const AudioDebugRecordingsCallback& callback,
|
| - const AudioDebugRecordingsErrorCallback& error_callback,
|
| - const base::FilePath& log_directory) {
|
| - DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
| -
|
| - if (is_audio_debug_recordings_in_progress_) {
|
| - error_callback.Run("Audio debug recordings already in progress");
|
| - return;
|
| - }
|
| -
|
| - is_audio_debug_recordings_in_progress_ = true;
|
| - base::FilePath prefix_path = GetAudioDebugRecordingsPrefixPath(
|
| - log_directory, ++current_audio_debug_recordings_id_);
|
| - host->EnableAudioDebugRecordings(prefix_path);
|
| -
|
| - if (delay.is_zero()) {
|
| - callback.Run(prefix_path.AsUTF8Unsafe(), false /* not stopped */,
|
| - false /* not manually stopped */);
|
| - return;
|
| - }
|
| -
|
| - BrowserThread::PostDelayedTask(
|
| - BrowserThread::UI, FROM_HERE,
|
| - base::Bind(&WebRtcLoggingHandlerHost::DoStopAudioDebugRecordings, this,
|
| - host, false /* no manual stop */,
|
| - current_audio_debug_recordings_id_, callback, error_callback,
|
| - prefix_path),
|
| - delay);
|
| -}
|
| -
|
| -void WebRtcLoggingHandlerHost::DoStopAudioDebugRecordings(
|
| - content::RenderProcessHost* host,
|
| - bool is_manual_stop,
|
| - uint64_t audio_debug_recordings_id,
|
| - const AudioDebugRecordingsCallback& callback,
|
| - const AudioDebugRecordingsErrorCallback& error_callback,
|
| - const base::FilePath& log_directory) {
|
| - DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
| - DCHECK_LE(audio_debug_recordings_id, current_audio_debug_recordings_id_);
|
| -
|
| - base::FilePath prefix_path = GetAudioDebugRecordingsPrefixPath(
|
| - log_directory, audio_debug_recordings_id);
|
| - // Prevent an old posted StopAudioDebugRecordings() call to stop a newer dump.
|
| - // This could happen in a sequence like:
|
| - // Start(10); //Start dump 1. Post Stop() to run after 10 seconds.
|
| - // Stop(); // Manually stop dump 1 before 10 seconds;
|
| - // Start(20); // Start dump 2. Posted Stop() for 1 should not stop dump 2.
|
| - if (audio_debug_recordings_id < current_audio_debug_recordings_id_) {
|
| - callback.Run(prefix_path.AsUTF8Unsafe(), false /* not stopped */,
|
| - is_manual_stop);
|
| - return;
|
| - }
|
| -
|
| - if (!is_audio_debug_recordings_in_progress_) {
|
| - error_callback.Run("No audio debug recording in progress");
|
| - return;
|
| - }
|
| -
|
| - host->DisableAudioDebugRecordings();
|
| - is_audio_debug_recordings_in_progress_ = false;
|
| - callback.Run(prefix_path.AsUTF8Unsafe(), true /* stopped */, is_manual_stop);
|
| -}
|
|
|