Index: chromeos/audio/cras_audio_handler.h |
diff --git a/chromeos/audio/cras_audio_handler.h b/chromeos/audio/cras_audio_handler.h |
index c9110718e4a332a7bc0dde2b5a02d446857a8e2f..f78ff14cf4004a7ee1e34652e2a49dfe54292d05 100644 |
--- a/chromeos/audio/cras_audio_handler.h |
+++ b/chromeos/audio/cras_audio_handler.h |
@@ -38,6 +38,15 @@ class CHROMEOS_EXPORT CrasAudioHandler : public CrasAudioClient::Observer, |
AudioDeviceCompare> AudioDevicePriorityQueue; |
typedef std::vector<uint64_t> NodeIdList; |
+ // Volume change reasons that are not user-initiated. |
+ enum AutomatedVolumeChangeReason { |
+ // Indicates it is from intializaing audio state. |
+ VOLUME_CHANGE_INITIALIZING_AUDIO_STATE, |
+ |
+ // Indicates it is from restoring volume in maximimize mode screenshot. |
+ VOLUME_CHANGE_MAXIMIZE_MODE_SCREENSHOT, |
+ }; |
+ |
class AudioObserver { |
public: |
// Called when an active output volume changed. |
@@ -155,10 +164,16 @@ class CHROMEOS_EXPORT CrasAudioHandler : public CrasAudioClient::Observer, |
virtual bool has_alternative_input() const; |
virtual bool has_alternative_output() const; |
- // Sets all active output devices' volume level to |volume_percent|, whose |
+ // Sets all active output devices' volume levels to |volume_percent|, whose |
// range is from 0-100%. |
virtual void SetOutputVolumePercent(int volume_percent); |
+ // Sets all active output devices' volume levels to |volume_percent|, whose |
+ // range is from 0-100%, without notifying observers. |
+ virtual void SetOutputVolumePercentWithoutNotifyingObservers( |
+ int volume_percent, |
+ AutomatedVolumeChangeReason reason); |
+ |
// Sets all active input devices' gain level to |gain_percent|, whose range is |
// from 0-100%. |
virtual void SetInputGainPercent(int gain_percent); |
@@ -432,10 +447,10 @@ class CHROMEOS_EXPORT CrasAudioHandler : public CrasAudioClient::Observer, |
bool cras_service_available_ = false; |
- bool initializing_audio_state_ = false; |
+ std::deque<AutomatedVolumeChangeReason> automated_volume_change_reasons_; |
+ |
int init_volume_; |
uint64_t init_node_id_; |
- int init_volume_count_ = 0; |
base::WeakPtrFactory<CrasAudioHandler> weak_ptr_factory_; |