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

Side by Side Diff: content/browser/renderer_host/media/audio_input_sync_writer.cc

Issue 2107723002: Cap AudioInputSyncWriter "no room in fifo" log messages. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Change cap to 50. Created 4 years, 5 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/renderer_host/media/audio_input_sync_writer.h" 5 #include "content/browser/renderer_host/media/audio_input_sync_writer.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/metrics/histogram.h" 9 #include "base/metrics/histogram.h"
10 #include "base/strings/stringprintf.h" 10 #include "base/strings/stringprintf.h"
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 226
227 void AudioInputSyncWriter::AddToNativeLog(const std::string& message) { 227 void AudioInputSyncWriter::AddToNativeLog(const std::string& message) {
228 MediaStreamManager::SendMessageToNativeLog(message); 228 MediaStreamManager::SendMessageToNativeLog(message);
229 } 229 }
230 230
231 bool AudioInputSyncWriter::PushDataToFifo(const AudioBus* data, 231 bool AudioInputSyncWriter::PushDataToFifo(const AudioBus* data,
232 double volume, 232 double volume,
233 bool key_pressed, 233 bool key_pressed,
234 uint32_t hardware_delay_bytes) { 234 uint32_t hardware_delay_bytes) {
235 if (overflow_buses_.size() == kMaxOverflowBusesSize) { 235 if (overflow_buses_.size() == kMaxOverflowBusesSize) {
236 const std::string error_message = "AISW: No room in fifo."; 236 // We use |write_error_count_| for capping number of log messages.
237 LOG(ERROR) << error_message; 237 // |write_error_count_| also includes socket Send() errors, but those should
238 AddToNativeLog(error_message); 238 // be rare.
239 if (write_error_count_ <= 50) {
240 const std::string error_message = "AISW: No room in fifo.";
241 LOG(WARNING) << error_message;
242 AddToNativeLog(error_message);
243 if (write_error_count_ == 50) {
244 const std::string error_message =
245 "AISW: Log cap reached, suppressing further fifo overflow logs.";
246 LOG(WARNING) << error_message;
247 AddToNativeLog(error_message);
248 }
249 }
239 return false; 250 return false;
240 } 251 }
241 252
242 if (overflow_buses_.empty()) { 253 if (overflow_buses_.empty()) {
243 const std::string message = "AISW: Starting to use fifo."; 254 const std::string message = "AISW: Starting to use fifo.";
244 DVLOG(1) << message; 255 DVLOG(1) << message;
245 AddToNativeLog(message); 256 AddToNativeLog(message);
246 } 257 }
247 258
248 // Push parameters to fifo. 259 // Push parameters to fifo.
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
314 buffer->params.size = audio_bus_memory_size_; 325 buffer->params.size = audio_bus_memory_size_;
315 buffer->params.key_pressed = key_pressed; 326 buffer->params.key_pressed = key_pressed;
316 buffer->params.hardware_delay_bytes = hardware_delay_bytes; 327 buffer->params.hardware_delay_bytes = hardware_delay_bytes;
317 buffer->params.id = next_buffer_id_; 328 buffer->params.id = next_buffer_id_;
318 } 329 }
319 330
320 bool AudioInputSyncWriter::SignalDataWrittenAndUpdateCounters() { 331 bool AudioInputSyncWriter::SignalDataWrittenAndUpdateCounters() {
321 if (socket_->Send(&current_segment_id_, sizeof(current_segment_id_)) != 332 if (socket_->Send(&current_segment_id_, sizeof(current_segment_id_)) !=
322 sizeof(current_segment_id_)) { 333 sizeof(current_segment_id_)) {
323 const std::string error_message = "AISW: No room in socket buffer."; 334 const std::string error_message = "AISW: No room in socket buffer.";
324 LOG(ERROR) << error_message; 335 LOG(WARNING) << error_message;
325 AddToNativeLog(error_message); 336 AddToNativeLog(error_message);
326 return false; 337 return false;
327 } 338 }
328 339
329 if (++current_segment_id_ >= shared_memory_segment_count_) 340 if (++current_segment_id_ >= shared_memory_segment_count_)
330 current_segment_id_ = 0; 341 current_segment_id_ = 0;
331 ++number_of_filled_segments_; 342 ++number_of_filled_segments_;
332 CHECK_LE(number_of_filled_segments_, 343 CHECK_LE(number_of_filled_segments_,
333 static_cast<int>(shared_memory_segment_count_)); 344 static_cast<int>(shared_memory_segment_count_));
334 ++next_buffer_id_; 345 ++next_buffer_id_;
335 346
336 return true; 347 return true;
337 } 348 }
338 349
339 } // namespace content 350 } // namespace content
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698