1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef ASH_SYSTEM_AUDIO_AUDIO_OBSERVER_H_
6 #define ASH_SYSTEM_AUDIO_AUDIO_OBSERVER_H_
14 virtual ~AudioObserver() {}
16 // Called when an active output device's volume changed.
17 // |node_id|: id of the active node.
18 // |volume|: volume as a percentage, 0.0 -- 100.0.
19 virtual void OnOutputNodeVolumeChanged(uint64_t node_id
, double volume
) = 0;
21 // Called when output mute state changed.
22 // |mute_on|: True if output is muted.
23 // |system_adjust|: True if the mute state is adjusted by the system
24 // automatically, UI should be consistent with the system's mute state,
25 // but it should not be too loud, e.g., the volume pop up window should not
27 virtual void OnOutputMuteChanged(bool mute_on
, bool system_adjust
) = 0;
29 // Called when audio nodes changed.
30 virtual void OnAudioNodesChanged() = 0;
32 // Called when active audio output node changed.
33 virtual void OnActiveOutputNodeChanged() = 0;
35 // Called when active audio input node changed.
36 virtual void OnActiveInputNodeChanged() = 0;
41 #endif // ASH_SYSTEM_AUDIO_AUDIO_OBSERVER_H_