summaryrefslogtreecommitdiff
path: root/chromium/media/base/sample_rates.h
blob: edba90ed2a6aa503844afb06c5932f24ba92ec88 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef MEDIA_BASE_SAMPLE_RATES_H_
#define MEDIA_BASE_SAMPLE_RATES_H_

#include "media/base/media_export.h"

namespace media {

// Enumeration used for histogramming sample rates into distinct buckets.
// Logged to UMA, so never reuse a value, always add new/greater ones!
enum AudioSampleRate {
  k8000Hz = 0,
  k16000Hz = 1,
  k32000Hz = 2,
  k48000Hz = 3,
  k96000Hz = 4,
  k11025Hz = 5,
  k22050Hz = 6,
  k44100Hz = 7,
  k88200Hz = 8,
  k176400Hz = 9,
  k192000Hz = 10,
  k24000Hz = 11,
  k384000Hz = 12,
  k768000Hz = 13,
  // Must always equal the largest value ever reported:
  kAudioSampleRateMax = k384000Hz,
};

// Helper method to convert integral values to their respective enum values,
// returns false for unexpected sample rates.
MEDIA_EXPORT bool ToAudioSampleRate(int sample_rate, AudioSampleRate* asr);

}  // namespace media

#endif  // MEDIA_BASE_SAMPLE_RATES_H_