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

Unified Diff: content/browser/renderer_host/media/audio_renderer_host.cc

Issue 14600025: Replace AudioSilenceDetector with an AudioPowerMonitor. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed Dale's comments. Created 7 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/renderer_host/media/audio_renderer_host.cc
diff --git a/content/browser/renderer_host/media/audio_renderer_host.cc b/content/browser/renderer_host/media/audio_renderer_host.cc
index 0c8c310350bcfb86116470fc0889e092fdbd6d3e..450d015931d71ea31497288d25656bcc0c53669f 100644
--- a/content/browser/renderer_host/media/audio_renderer_host.cc
+++ b/content/browser/renderer_host/media/audio_renderer_host.cc
@@ -4,6 +4,8 @@
#include "content/browser/renderer_host/media/audio_renderer_host.h"
+#include <algorithm>
+
#include "base/bind.h"
#include "base/bind_helpers.h"
#include "base/command_line.h"
@@ -63,7 +65,7 @@ class AudioRendererHost::AudioEntry
// media::AudioOutputController::EventHandler implementation.
virtual void OnCreated() OVERRIDE;
virtual void OnPlaying() OVERRIDE;
- virtual void OnAudible(bool is_audible) OVERRIDE;
+ virtual void OnPowerMeasured(float power_dbfs, bool clipped) OVERRIDE;
virtual void OnPaused() OVERRIDE;
virtual void OnError() OVERRIDE;
virtual void OnDeviceChange(int new_buffer_size, int new_sample_rate)
@@ -157,12 +159,13 @@ void AudioRendererHost::AudioEntry::OnPlaying() {
stream_id_, media::AudioOutputIPCDelegate::kPlaying)));
}
-void AudioRendererHost::AudioEntry::OnAudible(bool is_audible) {
+void AudioRendererHost::AudioEntry::OnPowerMeasured(float power_dbfs,
+ bool clipped) {
BrowserThread::PostTask(
BrowserThread::IO,
FROM_HERE,
- base::Bind(&AudioRendererHost::DoNotifyAudibleState, host_,
- this, is_audible));
+ base::Bind(&AudioRendererHost::DoNotifyAudioPowerLevel, host_,
+ this, power_dbfs, clipped));
}
void AudioRendererHost::AudioEntry::OnPaused() {
@@ -235,22 +238,19 @@ void AudioRendererHost::DoCompleteCreation(AudioEntry* entry) {
media::PacketSizeInBytes(entry->shared_memory()->requested_size())));
}
-void AudioRendererHost::DoNotifyAudibleState(AudioEntry* entry,
- bool is_audible) {
+void AudioRendererHost::DoNotifyAudioPowerLevel(AudioEntry* entry,
+ float power_dbfs,
+ bool clipped) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
MediaObserver* const media_observer =
GetContentClient()->browser()->GetMediaObserver();
if (media_observer) {
- DVLOG(1) << "AudioRendererHost@" << this
- << "::DoNotifyAudibleState(is_audible=" << is_audible
- << ") for stream_id=" << entry->stream_id();
-
if (CommandLine::ForCurrentProcess()->HasSwitch(
switches::kEnableAudibleNotifications)) {
media_observer->OnAudioStreamPlayingChanged(
render_process_id_, entry->render_view_id(), entry->stream_id(),
- is_audible);
+ true, power_dbfs, clipped);
}
}
}
@@ -427,7 +427,8 @@ void AudioRendererHost::DeleteEntry(scoped_ptr<AudioEntry> entry) {
GetContentClient()->browser()->GetMediaObserver();
if (media_observer) {
media_observer->OnAudioStreamPlayingChanged(
- render_process_id_, entry->render_view_id(), entry->stream_id(), false);
+ render_process_id_, entry->render_view_id(), entry->stream_id(),
+ false, -std::numeric_limits<float>::infinity(), false);
}
// Notify the media observer.

Powered by Google App Engine
This is Rietveld 408576698