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 {
|
namespace webrtc {
|
||||||
|
|
||||||
const int AudioProcessing::kNativeSampleRatesHz[] = {
|
constexpr 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];
|
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
@ -103,12 +95,15 @@ bool SampleRateSupportsMultiBand(int sample_rate_hz) {
|
|||||||
|
|
||||||
int FindNativeProcessRateToUse(int minimum_rate, bool band_splitting_required) {
|
int FindNativeProcessRateToUse(int minimum_rate, bool band_splitting_required) {
|
||||||
#ifdef WEBRTC_ARCH_ARM_FAMILY
|
#ifdef WEBRTC_ARCH_ARM_FAMILY
|
||||||
const int kMaxSplittingNativeProcessRate = AudioProcessing::kSampleRate32kHz;
|
constexpr int kMaxSplittingNativeProcessRate =
|
||||||
|
AudioProcessing::kSampleRate32kHz;
|
||||||
#else
|
#else
|
||||||
const int kMaxSplittingNativeProcessRate = AudioProcessing::kSampleRate48kHz;
|
constexpr int kMaxSplittingNativeProcessRate =
|
||||||
|
AudioProcessing::kSampleRate48kHz;
|
||||||
#endif
|
#endif
|
||||||
RTC_DCHECK_LE(kMaxSplittingNativeProcessRate,
|
static_assert(
|
||||||
AudioProcessing::kMaxNativeSampleRateHz);
|
kMaxSplittingNativeProcessRate <= AudioProcessing::kMaxNativeSampleRateHz,
|
||||||
|
"");
|
||||||
const int uppermost_native_rate = band_splitting_required
|
const int uppermost_native_rate = band_splitting_required
|
||||||
? kMaxSplittingNativeProcessRate
|
? kMaxSplittingNativeProcessRate
|
||||||
: AudioProcessing::kSampleRate48kHz;
|
: AudioProcessing::kSampleRate48kHz;
|
||||||
|
|||||||
@ -513,9 +513,15 @@ class AudioProcessing {
|
|||||||
kSampleRate48kHz = 48000
|
kSampleRate48kHz = 48000
|
||||||
};
|
};
|
||||||
|
|
||||||
static const int kNativeSampleRatesHz[];
|
// TODO(kwiberg): We currently need to support a compiler (Visual C++) that
|
||||||
static const size_t kNumNativeSampleRates;
|
// complains if we don't explicitly state the size of the array here. Remove
|
||||||
static const int kMaxNativeSampleRateHz;
|
// 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;
|
static const int kChunkSizeMs = 10;
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user