summaryrefslogtreecommitdiffstats
path: root/media/audio/audio_output_controller.h
diff options
context:
space:
mode:
authordalecurtis <dalecurtis@chromium.org>2014-09-12 12:22:30 -0700
committerCommit bot <commit-bot@chromium.org>2014-09-12 19:26:35 +0000
commitbc6572e179e9fea88a60893d428ab8c3b363113a (patch)
tree42d380f7a888f1d0323ef2384b3bf9f83540117f /media/audio/audio_output_controller.h
parent130d3f51c1f3e284f707719af4d364447d4d3388 (diff)
downloadchromium_src-bc6572e179e9fea88a60893d428ab8c3b363113a.zip
chromium_src-bc6572e179e9fea88a60893d428ab8c3b363113a.tar.gz
chromium_src-bc6572e179e9fea88a60893d428ab8c3b363113a.tar.bz2
Revert of Gardening: Revert "Use AudioStreamMonitor to control power save blocking." (patchset #1 id:1 of https://codereview.chromium.org/562863002/)
Reason for revert: Bugs should be fixed now... will CQ this revert. Original issue's description: > Gardening: Revert "Use AudioStreamMonitor to control power save blocking." > > This reverts commit 484d29dcb45ca362fc9049c37dd3a51e11492f14. > > This patch made media/media-controller-playbackrate.html test crash on DEBUG. > > it crashes at content/browser/web_contents/web_contents_impl.cc:4296 on DCHECK > Looks like AddMediaPlayerEntry was called twice for the same player_cookie > > It is not clear how it happens due to async nature of the notification. > The author is sleeping at the moment, so I decided to roll back the patch. > > BUG= > TBR=dalecurtis@chromium.org > > Committed: https://crrev.com/0381a74131887eb13b5d457cce756fb7066411ea > Cr-Commit-Position: refs/heads/master@{#294370} TBR=loislo@chromium.org,jam@chromium.org,miu@chromium.org,scherkus@chromium.org BUG=43667, 367785 Review URL: https://codereview.chromium.org/569713002 Cr-Commit-Position: refs/heads/master@{#294630}
Diffstat (limited to 'media/audio/audio_output_controller.h')
-rw-r--r--media/audio/audio_output_controller.h22
1 files changed, 15 insertions, 7 deletions
diff --git a/media/audio/audio_output_controller.h b/media/audio/audio_output_controller.h
index 0b02ee2..f9e1033 100644
--- a/media/audio/audio_output_controller.h
+++ b/media/audio/audio_output_controller.h
@@ -9,6 +9,7 @@
#include "base/callback.h"
#include "base/memory/ref_counted.h"
#include "base/timer/timer.h"
+#include "build/build_config.h"
#include "media/audio/audio_io.h"
#include "media/audio/audio_manager.h"
#include "media/audio/audio_power_monitor.h"
@@ -52,11 +53,6 @@
namespace media {
-// Only do power monitoring for non-mobile platforms that need it for the UI.
-#if !defined(OS_ANDROID) && !defined(OS_IOS)
-#define AUDIO_POWER_MONITORING
-#endif
-
class MEDIA_EXPORT AudioOutputController
: public base::RefCountedThreadSafe<AudioOutputController>,
public AudioOutputStream::AudioSourceCallback,
@@ -110,6 +106,16 @@ class MEDIA_EXPORT AudioOutputController
const AudioParameters& params, const std::string& output_device_id,
SyncReader* sync_reader);
+ // Indicates whether audio power level analysis will be performed. If false,
+ // ReadCurrentPowerAndClip() can not be called.
+ static bool will_monitor_audio_levels() {
+#if defined(OS_ANDROID) || defined(OS_IOS)
+ return false;
+#else
+ return true;
+#endif
+ }
+
// Methods to control playback of the stream.
// Starts the playback of this audio output stream.
@@ -178,6 +184,10 @@ class MEDIA_EXPORT AudioOutputController
kError,
};
+ // Time constant for AudioPowerMonitor. See AudioPowerMonitor ctor comments
+ // for semantics. This value was arbitrarily chosen, but seems to work well.
+ enum { kPowerMeasurementTimeConstantMillis = 10 };
+
friend class base::RefCountedThreadSafe<AudioOutputController>;
virtual ~AudioOutputController();
@@ -235,10 +245,8 @@ class MEDIA_EXPORT AudioOutputController
// The message loop of audio manager thread that this object runs on.
const scoped_refptr<base::SingleThreadTaskRunner> message_loop_;
-#if defined(AUDIO_POWER_MONITORING)
// Scans audio samples from OnMoreData() as input to compute power levels.
AudioPowerMonitor power_monitor_;
-#endif
// Flags when we've asked for a stream to start but it never did.
base::AtomicRefCount on_more_io_data_called_;