// 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_AUDIO_SAMPLE_RATES_H_
#define MEDIA_AUDIO_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,
  // 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_AUDIO_SAMPLE_RATES_H_
