| OLD | NEW |
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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_AUDIO_OUTPUT_H_ | 5 #ifndef MEDIA_AUDIO_AUDIO_OUTPUT_H_ |
| 6 #define MEDIA_AUDIO_AUDIO_OUTPUT_H_ | 6 #define MEDIA_AUDIO_AUDIO_OUTPUT_H_ |
| 7 | 7 |
| 8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
| 9 | 9 |
| 10 // Low-level audio output support. To make sound there are 3 objects involved: | 10 // Low-level audio output support. To make sound there are 3 objects involved: |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 97 protected: | 97 protected: |
| 98 virtual ~AudioOutputStream() {} | 98 virtual ~AudioOutputStream() {} |
| 99 }; | 99 }; |
| 100 | 100 |
| 101 // Manages all audio resources. In particular it owns the AudioOutputStream | 101 // Manages all audio resources. In particular it owns the AudioOutputStream |
| 102 // objects. Provides some convenience functions that avoid the need to provide | 102 // objects. Provides some convenience functions that avoid the need to provide |
| 103 // iterators over the existing streams. | 103 // iterators over the existing streams. |
| 104 class AudioManager { | 104 class AudioManager { |
| 105 public: | 105 public: |
| 106 enum Format { | 106 enum Format { |
| 107 AUDIO_PCM_LINEAR = 0, // Pulse code modulation means 'raw' amplitude | 107 AUDIO_PCM_LINEAR, // Pulse code modulation means 'raw' amplitude samples. |
| 108 // samples. | 108 AUDIO_PCM_DELTA, // Delta-encoded pulse code modulation. |
| 109 AUDIO_PCM_DELTA, // Delta-encoded pulse code modulation. | 109 AUDIO_MOCK // Creates a dummy AudioOutputStream object. |
| 110 AUDIO_MOCK, // Creates a dummy AudioOutputStream object. | |
| 111 AUDIO_LAST_FORMAT // Only used for validation of format. | |
| 112 }; | 110 }; |
| 113 | 111 |
| 114 // Telephone quality sample rate, mostly for speech-only audio. | 112 // Telephone quality sample rate, mostly for speech-only audio. |
| 115 static const int kTelephoneSampleRate = 8000; | 113 static const int kTelephoneSampleRate = 8000; |
| 116 // CD sampling rate is 44.1 KHz or conveniently 2x2x3x3x5x5x7x7. | 114 // CD sampling rate is 44.1 KHz or conveniently 2x2x3x3x5x5x7x7. |
| 117 static const int kAudioCDSampleRate = 44100; | 115 static const int kAudioCDSampleRate = 44100; |
| 118 // Digital Audio Tape sample rate. | 116 // Digital Audio Tape sample rate. |
| 119 static const int kAudioDATSampleRate = 48000; | 117 static const int kAudioDATSampleRate = 48000; |
| 120 | 118 |
| 121 // Returns true if the OS reports existence of audio devices. This does not | 119 // Returns true if the OS reports existence of audio devices. This does not |
| (...skipping 26 matching lines...) Expand all Loading... |
| 148 // TODO(cpu): Define threading requirements for interacting with AudioManager. | 146 // TODO(cpu): Define threading requirements for interacting with AudioManager. |
| 149 static AudioManager* GetAudioManager(); | 147 static AudioManager* GetAudioManager(); |
| 150 | 148 |
| 151 protected: | 149 protected: |
| 152 virtual ~AudioManager() {} | 150 virtual ~AudioManager() {} |
| 153 }; | 151 }; |
| 154 | 152 |
| 155 | 153 |
| 156 #endif // MEDIA_AUDIO_AUDIO_OUTPUT_H_ | 154 #endif // MEDIA_AUDIO_AUDIO_OUTPUT_H_ |
| 157 | 155 |
| OLD | NEW |