Replace a DCHECK with static_assert
This requires marking a bunch of compile-time constants "constexpr" instead of just "const". Review-Url: https://codereview.webrtc.org/2335483003 Cr-Commit-Position: refs/heads/master@{#14199}
This commit is contained in:
@ -70,15 +70,7 @@
|
||||
|
||||
namespace webrtc {
|
||||
|
||||
const int AudioProcessing::kNativeSampleRatesHz[] = {
|
||||
AudioProcessing::kSampleRate8kHz,
|
||||
AudioProcessing::kSampleRate16kHz,
|
||||
AudioProcessing::kSampleRate32kHz,
|
||||
AudioProcessing::kSampleRate48kHz};
|
||||
const size_t AudioProcessing::kNumNativeSampleRates =
|
||||
arraysize(AudioProcessing::kNativeSampleRatesHz);
|
||||
const int AudioProcessing::kMaxNativeSampleRateHz = AudioProcessing::
|
||||
kNativeSampleRatesHz[AudioProcessing::kNumNativeSampleRates - 1];
|
||||
constexpr int AudioProcessing::kNativeSampleRatesHz[];
|
||||
|
||||
namespace {
|
||||
|
||||
@ -103,12 +95,15 @@ bool SampleRateSupportsMultiBand(int sample_rate_hz) {
|
||||
|
||||
int FindNativeProcessRateToUse(int minimum_rate, bool band_splitting_required) {
|
||||
#ifdef WEBRTC_ARCH_ARM_FAMILY
|
||||
const int kMaxSplittingNativeProcessRate = AudioProcessing::kSampleRate32kHz;
|
||||
constexpr int kMaxSplittingNativeProcessRate =
|
||||
AudioProcessing::kSampleRate32kHz;
|
||||
#else
|
||||
const int kMaxSplittingNativeProcessRate = AudioProcessing::kSampleRate48kHz;
|
||||
constexpr int kMaxSplittingNativeProcessRate =
|
||||
AudioProcessing::kSampleRate48kHz;
|
||||
#endif
|
||||
RTC_DCHECK_LE(kMaxSplittingNativeProcessRate,
|
||||
AudioProcessing::kMaxNativeSampleRateHz);
|
||||
static_assert(
|
||||
kMaxSplittingNativeProcessRate <= AudioProcessing::kMaxNativeSampleRateHz,
|
||||
"");
|
||||
const int uppermost_native_rate = band_splitting_required
|
||||
? kMaxSplittingNativeProcessRate
|
||||
: AudioProcessing::kSampleRate48kHz;
|
||||
|
||||
@ -513,9 +513,15 @@ class AudioProcessing {
|
||||
kSampleRate48kHz = 48000
|
||||
};
|
||||
|
||||
static const int kNativeSampleRatesHz[];
|
||||
static const size_t kNumNativeSampleRates;
|
||||
static const int kMaxNativeSampleRateHz;
|
||||
// TODO(kwiberg): We currently need to support a compiler (Visual C++) that
|
||||
// complains if we don't explicitly state the size of the array here. Remove
|
||||
// the size when that's no longer the case.
|
||||
static constexpr int kNativeSampleRatesHz[4] = {
|
||||
kSampleRate8kHz, kSampleRate16kHz, kSampleRate32kHz, kSampleRate48kHz};
|
||||
static constexpr size_t kNumNativeSampleRates =
|
||||
arraysize(kNativeSampleRatesHz);
|
||||
static constexpr int kMaxNativeSampleRateHz =
|
||||
kNativeSampleRatesHz[kNumNativeSampleRates - 1];
|
||||
|
||||
static const int kChunkSizeMs = 10;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user