diff options
author | dalecurtis <dalecurtis@chromium.org> | 2014-09-12 12:22:30 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-09-12 19:26:35 +0000 |
commit | bc6572e179e9fea88a60893d428ab8c3b363113a (patch) | |
tree | 42d380f7a888f1d0323ef2384b3bf9f83540117f /media/audio/audio_output_controller.h | |
parent | 130d3f51c1f3e284f707719af4d364447d4d3388 (diff) | |
download | chromium_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.h | 22 |
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_; |