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  k24000Hz = 11,
27  // Must always equal the largest value ever reported:
28  kAudioSampleRateMax = k24000Hz,
29};
30
31// Helper method to convert integral values to their respective enum values,
32// returns false for unexpected sample rates.
33MEDIA_EXPORT bool ToAudioSampleRate(int sample_rate, AudioSampleRate* asr);
34
35}  // namespace media
36
37#endif  // MEDIA_AUDIO_SAMPLE_RATES_H_
38