Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(573)

Side by Side Diff: media/audio/linux/audio_manager_linux.h

Issue 4661001: Simplified AudioOutputStream interface. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: - Created 10 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef MEDIA_AUDIO_LINUX_AUDIO_MANAGER_LINUX_H_ 5 #ifndef MEDIA_AUDIO_LINUX_AUDIO_MANAGER_LINUX_H_
6 #define MEDIA_AUDIO_LINUX_AUDIO_MANAGER_LINUX_H_ 6 #define MEDIA_AUDIO_LINUX_AUDIO_MANAGER_LINUX_H_
7 7
8 #include <map> 8 #include <map>
9 9
10 #include "base/lock.h" 10 #include "base/lock.h"
11 #include "base/ref_counted.h" 11 #include "base/ref_counted.h"
12 #include "base/scoped_ptr.h" 12 #include "base/scoped_ptr.h"
13 #include "base/thread.h" 13 #include "base/thread.h"
14 #include "media/audio/audio_manager_base.h" 14 #include "media/audio/audio_manager_base.h"
15 15
16 class AlsaPcmOutputStream; 16 class AlsaPcmOutputStream;
17 class AlsaWrapper; 17 class AlsaWrapper;
18 18
19 class AudioManagerLinux : public AudioManagerBase { 19 class AudioManagerLinux : public AudioManagerBase {
20 public: 20 public:
21 AudioManagerLinux(); 21 AudioManagerLinux();
22 22
23 // Call before using a newly created AudioManagerLinux instance. 23 // Call before using a newly created AudioManagerLinux instance.
24 virtual void Init(); 24 virtual void Init();
25 25
26 // Implementation of AudioManager. 26 // Implementation of AudioManager.
27 virtual bool HasAudioOutputDevices(); 27 virtual bool HasAudioOutputDevices();
28 virtual bool HasAudioInputDevices(); 28 virtual bool HasAudioInputDevices();
29 virtual AudioOutputStream* MakeAudioOutputStream(AudioParameters params); 29 virtual AudioOutputStream* MakeAudioOutputStream(AudioParameters params);
30 virtual AudioInputStream* MakeAudioInputStream( 30 virtual AudioInputStream* MakeAudioInputStream(AudioParameters params);
31 AudioParameters params, int samples_per_packet);
32 31
33 virtual void MuteAll(); 32 virtual void MuteAll();
34 virtual void UnMuteAll(); 33 virtual void UnMuteAll();
35 34
36 virtual void ReleaseOutputStream(AlsaPcmOutputStream* stream); 35 virtual void ReleaseOutputStream(AlsaPcmOutputStream* stream);
37 36
38 protected: 37 protected:
39 virtual ~AudioManagerLinux(); 38 virtual ~AudioManagerLinux();
40 39
41 private: 40 private:
42 scoped_ptr<AlsaWrapper> wrapper_; 41 scoped_ptr<AlsaWrapper> wrapper_;
43 42
44 Lock lock_; 43 Lock lock_;
45 std::map<AlsaPcmOutputStream*, scoped_refptr<AlsaPcmOutputStream> > 44 std::map<AlsaPcmOutputStream*, scoped_refptr<AlsaPcmOutputStream> >
46 active_streams_; 45 active_streams_;
47 46
48 DISALLOW_COPY_AND_ASSIGN(AudioManagerLinux); 47 DISALLOW_COPY_AND_ASSIGN(AudioManagerLinux);
49 }; 48 };
50 49
51 #endif // MEDIA_AUDIO_LINUX_AUDIO_MANAGER_LINUX_H_ 50 #endif // MEDIA_AUDIO_LINUX_AUDIO_MANAGER_LINUX_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698