Roll src/third_party/WebKit f36d5e0:68b67cd (svn 193299:193303)
[chromium-blink-merge.git] / ash / system / audio / audio_observer.h
blob3b94ebc8b5f6e9147226ddac9c3961fa328d7972
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_
8 #include <stdint.h>
10 namespace ash {
12 class AudioObserver {
13 public:
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 virtual void OnOutputMuteChanged(bool mute_on) = 0;
24 // Called when audio nodes changed.
25 virtual void OnAudioNodesChanged() = 0;
27 // Called when active audio output node changed.
28 virtual void OnActiveOutputNodeChanged() = 0;
30 // Called when active audio input node changed.
31 virtual void OnActiveInputNodeChanged() = 0;
34 } // namespace ash
36 #endif // ASH_SYSTEM_AUDIO_AUDIO_OBSERVER_H_