Commit b0382a18 authored by henrika's avatar henrika Committed by Commit Bot

Minor log changes in OutputStream and InputStream.

Ensures that style is consistent. Goal is to fix these details before
M82 cut.

Tbr: olka
Bug: 1017219
Change-Id: I69d00b614ec0c1b35464be1ea22f3f79273c473c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2089897Reviewed-by: default avatarHenrik Andreasson <henrika@chromium.org>
Reviewed-by: default avatarGuido Urdaneta <guidou@chromium.org>
Commit-Queue: Henrik Andreasson <henrika@chromium.org>
Cr-Commit-Position: refs/heads/master@{#748681}
parent 4d486861
...@@ -40,11 +40,10 @@ const char* ErrorCodeToString(InputController::ErrorCode error) { ...@@ -40,11 +40,10 @@ const char* ErrorCodeToString(InputController::ErrorCode error) {
return "UNKNOWN_ERROR"; return "UNKNOWN_ERROR";
} }
std::string GetCtorLogString(const base::UnguessableToken& id, std::string GetCtorLogString(const std::string& device_id,
const std::string& device_id,
const media::AudioParameters& params, const media::AudioParameters& params,
bool enable_agc) { bool enable_agc) {
std::string str = base::StringPrintf("Ctor({id=%s}, ", id.ToString().c_str()); std::string str = base::StringPrintf("Ctor(");
base::StringAppendF(&str, "{device_id=%s}, ", device_id.c_str()); base::StringAppendF(&str, "{device_id=%s}, ", device_id.c_str());
base::StringAppendF(&str, "{params=[%s]}, ", base::StringAppendF(&str, "{params=[%s]}, ",
params.AsHumanReadableString().c_str()); params.AsHumanReadableString().c_str());
...@@ -95,7 +94,7 @@ InputStream::InputStream( ...@@ -95,7 +94,7 @@ InputStream::InputStream(
TRACE_EVENT_NESTABLE_ASYNC_BEGIN2("audio", "InputStream", this, "device id", TRACE_EVENT_NESTABLE_ASYNC_BEGIN2("audio", "InputStream", this, "device id",
device_id, "params", device_id, "params",
params.AsHumanReadableString()); params.AsHumanReadableString());
SendLogMessage(GetCtorLogString(id_, device_id, params, enable_agc)); SendLogMessage("%s", GetCtorLogString(device_id, params, enable_agc).c_str());
// |this| owns these objects, so unretained is safe. // |this| owns these objects, so unretained is safe.
base::RepeatingClosure error_handler = base::BindRepeating( base::RepeatingClosure error_handler = base::BindRepeating(
...@@ -132,7 +131,7 @@ InputStream::InputStream( ...@@ -132,7 +131,7 @@ InputStream::InputStream(
InputStream::~InputStream() { InputStream::~InputStream() {
DCHECK_CALLED_ON_VALID_SEQUENCE(owning_sequence_); DCHECK_CALLED_ON_VALID_SEQUENCE(owning_sequence_);
SendLogMessage("Dtor({id=" + id_.ToString() + "})"); SendLogMessage("Dtor()");
if (log_) if (log_)
log_->OnClosed(); log_->OnClosed();
...@@ -167,20 +166,15 @@ void InputStream::SetOutputDeviceForAec(const std::string& output_device_id) { ...@@ -167,20 +166,15 @@ void InputStream::SetOutputDeviceForAec(const std::string& output_device_id) {
DCHECK_CALLED_ON_VALID_SEQUENCE(owning_sequence_); DCHECK_CALLED_ON_VALID_SEQUENCE(owning_sequence_);
DCHECK(controller_); DCHECK(controller_);
controller_->SetOutputDeviceForAec(output_device_id); controller_->SetOutputDeviceForAec(output_device_id);
if (log_) { SendLogMessage("%s({output_device_id=%s})", __func__,
log_->OnLogMessage( output_device_id.c_str());
base::StrCat({"SetOutputDeviceForAec: ", output_device_id}));
}
SendLogMessage("SetOutputDeviceForAec({id=" + id_.ToString() + "}, " +
"{output_device_id=" + output_device_id + "})");
} }
void InputStream::Record() { void InputStream::Record() {
DCHECK_CALLED_ON_VALID_SEQUENCE(owning_sequence_); DCHECK_CALLED_ON_VALID_SEQUENCE(owning_sequence_);
DCHECK(controller_); DCHECK(controller_);
TRACE_EVENT_NESTABLE_ASYNC_INSTANT0("audio", "Record", this); TRACE_EVENT_NESTABLE_ASYNC_INSTANT0("audio", "Record", this);
SendLogMessage("Record({id=" + id_.ToString() + "})"); SendLogMessage("%s()", __func__);
controller_->Record(); controller_->Record();
if (observer_) if (observer_)
observer_->DidStartRecording(); observer_->DidStartRecording();
...@@ -209,8 +203,8 @@ void InputStream::OnCreated(bool initially_muted) { ...@@ -209,8 +203,8 @@ void InputStream::OnCreated(bool initially_muted) {
TRACE_EVENT_NESTABLE_ASYNC_INSTANT1("audio", "Created", this, TRACE_EVENT_NESTABLE_ASYNC_INSTANT1("audio", "Created", this,
"initially muted", initially_muted); "initially muted", initially_muted);
DCHECK_CALLED_ON_VALID_SEQUENCE(owning_sequence_); DCHECK_CALLED_ON_VALID_SEQUENCE(owning_sequence_);
SendLogMessage(base::StringPrintf("OnCreated({id=%s}, {muted=%d})", SendLogMessage("%s({muted=%s})", __func__,
id_.ToString().c_str(), initially_muted)); initially_muted ? "true" : "false");
base::ReadOnlySharedMemoryRegion shared_memory_region = base::ReadOnlySharedMemoryRegion shared_memory_region =
writer_->TakeSharedMemoryRegion(); writer_->TakeSharedMemoryRegion();
...@@ -233,12 +227,10 @@ void InputStream::OnError(InputController::ErrorCode error_code) { ...@@ -233,12 +227,10 @@ void InputStream::OnError(InputController::ErrorCode error_code) {
TRACE_EVENT_NESTABLE_ASYNC_INSTANT0("audio", "Error", this); TRACE_EVENT_NESTABLE_ASYNC_INSTANT0("audio", "Error", this);
client_->OnError(); client_->OnError();
if (log_) { if (log_)
log_->OnError(); log_->OnError();
SendLogMessage(base::StringPrintf("OnError({id=%s}, {error_code=%s})", SendLogMessage("%s({error_code=%s})", __func__,
id_.ToString().c_str(), ErrorCodeToString(error_code));
ErrorCodeToString(error_code)));
}
OnStreamError(true); OnStreamError(true);
} }
...@@ -265,7 +257,7 @@ void InputStream::OnStreamError(bool signalPlatformError) { ...@@ -265,7 +257,7 @@ void InputStream::OnStreamError(bool signalPlatformError) {
} }
if (signalPlatformError) { if (signalPlatformError) {
SendLogMessage("OnStreamError({id=" + id_.ToString() + "})"); SendLogMessage("%s()", __func__);
} }
// Defer callback so we're not destructed while in the constructor. // Defer callback so we're not destructed while in the constructor.
...@@ -281,11 +273,15 @@ void InputStream::CallDeleter() { ...@@ -281,11 +273,15 @@ void InputStream::CallDeleter() {
std::move(delete_callback_).Run(this); std::move(delete_callback_).Run(this);
} }
void InputStream::SendLogMessage(const std::string& message) { void InputStream::SendLogMessage(const char* format, ...) {
DCHECK_CALLED_ON_VALID_SEQUENCE(owning_sequence_); DCHECK_CALLED_ON_VALID_SEQUENCE(owning_sequence_);
if (log_) { if (!log_)
log_->OnLogMessage("audio::IS::" + message); return;
} va_list args;
va_start(args, format);
log_->OnLogMessage("audio::IS::" + base::StringPrintV(format, args) +
base::StringPrintf(" [id=%s]", id_.ToString().c_str()));
va_end(args);
} }
} // namespace audio } // namespace audio
...@@ -77,7 +77,7 @@ class InputStream final : public media::mojom::AudioInputStream, ...@@ -77,7 +77,7 @@ class InputStream final : public media::mojom::AudioInputStream,
private: private:
void OnStreamError(bool signalPlatformError); void OnStreamError(bool signalPlatformError);
void CallDeleter(); void CallDeleter();
void SendLogMessage(const std::string& message); void SendLogMessage(const char* format, ...) PRINTF_FORMAT(2, 3);
const base::UnguessableToken id_; const base::UnguessableToken id_;
......
...@@ -20,13 +20,12 @@ const float kSilenceThresholdDBFS = -72.24719896f; ...@@ -20,13 +20,12 @@ const float kSilenceThresholdDBFS = -72.24719896f;
// "blip" sounds won't be detected. http://crbug.com/339133#c4 // "blip" sounds won't be detected. http://crbug.com/339133#c4
const int kPowerMeasurementsPerSecond = 15; const int kPowerMeasurementsPerSecond = 15;
std::string GetCtorLogString(const base::UnguessableToken& id, std::string GetCtorLogString(media::AudioManager* audio_manager,
media::AudioManager* audio_manager,
const std::string& device_id, const std::string& device_id,
const media::AudioParameters& params) { const media::AudioParameters& params) {
return base::StringPrintf( return base::StringPrintf(
"Ctor({id=%s}, {audio_manager_name=%s}, {device_id=%s}, {params=[%s]})", "Ctor({audio_manager_name=%s}, {device_id=%s}, {params=[%s]})",
id.ToString().c_str(), audio_manager->GetName(), device_id.c_str(), audio_manager->GetName(), device_id.c_str(),
params.AsHumanReadableString().c_str()); params.AsHumanReadableString().c_str());
} }
...@@ -72,9 +71,8 @@ OutputStream::OutputStream( ...@@ -72,9 +71,8 @@ OutputStream::OutputStream(
TRACE_EVENT_NESTABLE_ASYNC_BEGIN2("audio", "OutputStream", this, "device id", TRACE_EVENT_NESTABLE_ASYNC_BEGIN2("audio", "OutputStream", this, "device id",
output_device_id, "params", output_device_id, "params",
params.AsHumanReadableString()); params.AsHumanReadableString());
SendLogMessage("%s", GetCtorLogString(processing_id, audio_manager, SendLogMessage(
output_device_id, params) "%s", GetCtorLogString(audio_manager, output_device_id, params).c_str());
.c_str());
// |this| owns these objects, so unretained is safe. // |this| owns these objects, so unretained is safe.
base::RepeatingClosure error_handler = base::RepeatingClosure error_handler =
...@@ -128,6 +126,7 @@ OutputStream::~OutputStream() { ...@@ -128,6 +126,7 @@ OutputStream::~OutputStream() {
void OutputStream::Play() { void OutputStream::Play() {
DCHECK_CALLED_ON_VALID_SEQUENCE(owning_sequence_); DCHECK_CALLED_ON_VALID_SEQUENCE(owning_sequence_);
SendLogMessage("%s()", __func__);
controller_.Play(); controller_.Play();
if (log_) if (log_)
...@@ -136,6 +135,7 @@ void OutputStream::Play() { ...@@ -136,6 +135,7 @@ void OutputStream::Play() {
void OutputStream::Pause() { void OutputStream::Pause() {
DCHECK_CALLED_ON_VALID_SEQUENCE(owning_sequence_); DCHECK_CALLED_ON_VALID_SEQUENCE(owning_sequence_);
SendLogMessage("%s()", __func__);
controller_.Pause(); controller_.Pause();
if (log_) if (log_)
...@@ -144,6 +144,7 @@ void OutputStream::Pause() { ...@@ -144,6 +144,7 @@ void OutputStream::Pause() {
void OutputStream::Flush() { void OutputStream::Flush() {
DCHECK_CALLED_ON_VALID_SEQUENCE(owning_sequence_); DCHECK_CALLED_ON_VALID_SEQUENCE(owning_sequence_);
SendLogMessage("%s()", __func__);
controller_.Flush(); controller_.Flush();
} }
...@@ -168,8 +169,7 @@ void OutputStream::CreateAudioPipe(CreatedCallback created_callback) { ...@@ -168,8 +169,7 @@ void OutputStream::CreateAudioPipe(CreatedCallback created_callback) {
DCHECK_CALLED_ON_VALID_SEQUENCE(owning_sequence_); DCHECK_CALLED_ON_VALID_SEQUENCE(owning_sequence_);
DCHECK(reader_.IsValid()); DCHECK(reader_.IsValid());
TRACE_EVENT_NESTABLE_ASYNC_INSTANT0("audio", "CreateAudioPipe", this); TRACE_EVENT_NESTABLE_ASYNC_INSTANT0("audio", "CreateAudioPipe", this);
SendLogMessage("CreateAudioPipe({id=%s})", SendLogMessage("%s()", __func__);
processing_id().ToString().c_str());
base::UnsafeSharedMemoryRegion shared_memory_region = base::UnsafeSharedMemoryRegion shared_memory_region =
reader_.TakeSharedMemoryRegion(); reader_.TakeSharedMemoryRegion();
...@@ -231,8 +231,7 @@ void OutputStream::OnControllerPaused() { ...@@ -231,8 +231,7 @@ void OutputStream::OnControllerPaused() {
void OutputStream::OnControllerError() { void OutputStream::OnControllerError() {
DCHECK_CALLED_ON_VALID_SEQUENCE(owning_sequence_); DCHECK_CALLED_ON_VALID_SEQUENCE(owning_sequence_);
TRACE_EVENT_NESTABLE_ASYNC_INSTANT0("audio", "OnControllerError", this); TRACE_EVENT_NESTABLE_ASYNC_INSTANT0("audio", "OnControllerError", this);
SendLogMessage("OnControllerError({id=%s})", SendLogMessage("%s()", __func__);
processing_id().ToString().c_str());
// Stop checking the audio level to avoid using this object while it's being // Stop checking the audio level to avoid using this object while it's being
// torn down. // torn down.
...@@ -310,7 +309,9 @@ void OutputStream::SendLogMessage(const char* format, ...) { ...@@ -310,7 +309,9 @@ void OutputStream::SendLogMessage(const char* format, ...) {
return; return;
va_list args; va_list args;
va_start(args, format); va_start(args, format);
log_->OnLogMessage("audio::OS::" + base::StringPrintV(format, args)); log_->OnLogMessage(
"audio::OS::" + base::StringPrintV(format, args) +
base::StringPrintf(" [id=%s]", processing_id().ToString().c_str()));
va_end(args); va_end(args);
} }
......
...@@ -65,7 +65,11 @@ void StreamFactory::CreateInputStream( ...@@ -65,7 +65,11 @@ void StreamFactory::CreateInputStream(
// If the buffer size is incorrect, the data can't be fed into the APM. // If the buffer size is incorrect, the data can't be fed into the APM.
// This should never happen unless a renderer misbehaves. // This should never happen unless a renderer misbehaves.
mojo::Remote<media::mojom::AudioLog> log(std::move(pending_log)); mojo::Remote<media::mojom::AudioLog> log(std::move(pending_log));
log->OnLogMessage("Invalid APM config.");
log->OnLogMessage(
"audio::SF::" +
base::StringPrintf("%s => (ERROR: Invalid APM configuration)",
__func__));
log->OnError(); log->OnError();
// The callback must still be invoked or mojo complains. // The callback must still be invoked or mojo complains.
std::move(created_callback).Run(nullptr, false, base::nullopt); std::move(created_callback).Run(nullptr, false, base::nullopt);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment