| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 CONTENT_RENDERER_MEDIA_AUDIO_HARDWARE_H_ | 5 #ifndef CONTENT_RENDERER_MEDIA_AUDIO_HARDWARE_H_ |
| 6 #define CONTENT_RENDERER_MEDIA_AUDIO_HARDWARE_H_ | 6 #define CONTENT_RENDERER_MEDIA_AUDIO_HARDWARE_H_ |
| 7 #pragma once | 7 #pragma once |
| 8 | 8 |
| 9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
| 10 #include "content/common/content_export.h" | 10 #include "content/common/content_export.h" |
| 11 #include "media/base/channel_layout.h" |
| 11 | 12 |
| 12 // Contains static methods to query hardware properties from the browser | 13 // Contains static methods to query hardware properties from the browser |
| 13 // process. Values are cached to avoid unnecessary round trips, but the cache | 14 // process. Values are cached to avoid unnecessary round trips, but the cache |
| 14 // can be cleared if needed (currently only used by tests). | 15 // can be cleared if needed (currently only used by tests). |
| 15 namespace audio_hardware { | 16 namespace audio_hardware { |
| 16 | 17 |
| 17 // Fetch the sample rate of the default audio output end point device. | 18 // Fetch the sample rate of the default audio output end point device. |
| 18 // Must be called from RenderThreadImpl::current(). | 19 // Must be called from RenderThreadImpl::current(). |
| 19 CONTENT_EXPORT double GetOutputSampleRate(); | 20 CONTENT_EXPORT int GetOutputSampleRate(); |
| 20 | 21 |
| 21 // Fetch the sample rate of the default audio input end point device. | 22 // Fetch the sample rate of the default audio input end point device. |
| 22 // Must be called from RenderThreadImpl::current(). | 23 // Must be called from RenderThreadImpl::current(). |
| 23 CONTENT_EXPORT double GetInputSampleRate(); | 24 CONTENT_EXPORT int GetInputSampleRate(); |
| 24 | 25 |
| 25 // Fetch the buffer size we use for the default output device. | 26 // Fetch the buffer size we use for the default output device. |
| 26 // Must be called from RenderThreadImpl::current(). | 27 // Must be called from RenderThreadImpl::current(). |
| 27 // Must be used in conjunction with AUDIO_PCM_LOW_LATENCY. | 28 // Must be used in conjunction with AUDIO_PCM_LOW_LATENCY. |
| 28 CONTENT_EXPORT size_t GetOutputBufferSize(); | 29 CONTENT_EXPORT size_t GetOutputBufferSize(); |
| 29 | 30 |
| 30 // Computes a buffer size based on the given |sample_rate|. Must be used in | 31 // Computes a buffer size based on the given |sample_rate|. Must be used in |
| 31 // conjunction with AUDIO_PCM_LINEAR. | 32 // conjunction with AUDIO_PCM_LINEAR. |
| 32 CONTENT_EXPORT size_t GetHighLatencyOutputBufferSize(int sample_rate); | 33 CONTENT_EXPORT size_t GetHighLatencyOutputBufferSize(int sample_rate); |
| 33 | 34 |
| 34 // Fetch the number of audio channels for the default input device. | 35 // Fetch the audio channel layout for the default input device. |
| 35 // Must be called from RenderThreadImpl::current(). | 36 // Must be called from RenderThreadImpl::current(). |
| 36 CONTENT_EXPORT uint32 GetInputChannelCount(); | 37 CONTENT_EXPORT ChannelLayout GetInputChannelLayout(); |
| 37 | 38 |
| 38 // Forces the next call to any of the Get functions to query the hardware | 39 // Forces the next call to any of the Get functions to query the hardware |
| 39 // and repopulate the cache. | 40 // and repopulate the cache. |
| 40 CONTENT_EXPORT void ResetCache(); | 41 CONTENT_EXPORT void ResetCache(); |
| 41 | 42 |
| 42 } // namespace audio_hardware | 43 } // namespace audio_hardware |
| 43 | 44 |
| 44 #endif // CONTENT_RENDERER_MEDIA_AUDIO_HARDWARE_H_ | 45 #endif // CONTENT_RENDERER_MEDIA_AUDIO_HARDWARE_H_ |
| OLD | NEW |