sample_rates.h revision a1401311d1ab56c4ed0a474bd38c108f75cb0cd9
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
3// found in the LICENSE file.
4
5#ifndef MEDIA_AUDIO_SAMPLE_RATES_H_
6#define MEDIA_AUDIO_SAMPLE_RATES_H_
7
8#include "media/base/media_export.h"
9
10namespace media {
11
12// Enumeration used for histogramming sample rates into distinct buckets.
13// Logged to UMA, so never reuse a value, always add new/greater ones!
14enum AudioSampleRate {
15  k8000Hz = 0,
16  k16000Hz = 1,
17  k32000Hz = 2,
18  k48000Hz = 3,
19  k96000Hz = 4,
20  k11025Hz = 5,
21  k22050Hz = 6,
22  k44100Hz = 7,
23  k88200Hz = 8,
24  k176400Hz = 9,
25  k192000Hz = 10,
26  // Must always equal the largest value ever reported:
27  kAudioSampleRateMax = k192000Hz,
28};
29
30// Helper method to convert integral values to their respective enum values,
31// returns false for unexpected sample rates.
32MEDIA_EXPORT bool ToAudioSampleRate(int sample_rate, AudioSampleRate* asr);
33
34}  // namespace media
35
36#endif  // MEDIA_AUDIO_SAMPLE_RATES_H_
37