Cleanup arraysize usage in audio_device
Bug: webrtc:407433458
Change-Id: I48179bac2ae51c8f23f578263f1e4a515184b23a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/394120
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#44863}
diff --git a/modules/audio_device/BUILD.gn b/modules/audio_device/BUILD.gn
index 9bf81c3..b879e4f 100644
--- a/modules/audio_device/BUILD.gn
+++ b/modules/audio_device/BUILD.gn
@@ -114,7 +114,6 @@
"../../api/units:time_delta",
"../../rtc_base:checks",
"../../rtc_base:logging",
- "../../rtc_base:macromagic",
"../../rtc_base:platform_thread_types",
"../../rtc_base:stringutils",
"../../rtc_base/win:windows_version",
@@ -157,7 +156,6 @@
"../../api/task_queue",
"../../rtc_base:checks",
"../../rtc_base:logging",
- "../../rtc_base:macromagic",
"../../rtc_base:platform_thread",
"../../rtc_base:safe_conversions",
"../../rtc_base:stringutils",
diff --git a/modules/audio_device/mac/audio_device_mac.cc b/modules/audio_device/mac/audio_device_mac.cc
index 4d2c132..03bbdac 100644
--- a/modules/audio_device/mac/audio_device_mac.cc
+++ b/modules/audio_device/mac/audio_device_mac.cc
@@ -19,7 +19,6 @@
#include "modules/audio_device/audio_device_config.h"
#include "modules/third_party/portaudio/pa_ringbuffer.h"
-#include "rtc_base/arraysize.h"
#include "rtc_base/checks.h"
#include "rtc_base/platform_thread.h"
#include "rtc_base/system/arch.h"
@@ -2491,7 +2490,7 @@
bool AudioDeviceMac::KeyPressed() {
bool key_down = false;
// Loop through all Mac virtual key constant values.
- for (unsigned int key_index = 0; key_index < arraysize(prev_key_state_);
+ for (unsigned int key_index = 0; key_index < std::size(prev_key_state_);
++key_index) {
bool keyState =
CGEventSourceKeyState(kCGEventSourceStateHIDSystemState, key_index);
diff --git a/modules/audio_device/win/core_audio_base_win.cc b/modules/audio_device/win/core_audio_base_win.cc
index 4d73ea5..98cb29f 100644
--- a/modules/audio_device/win/core_audio_base_win.cc
+++ b/modules/audio_device/win/core_audio_base_win.cc
@@ -10,12 +10,12 @@
#include "modules/audio_device/win/core_audio_base_win.h"
+#include <iterator>
#include <memory>
#include <string>
#include "absl/strings/string_view.h"
#include "modules/audio_device/audio_device_buffer.h"
-#include "rtc_base/arraysize.h"
#include "rtc_base/checks.h"
#include "rtc_base/logging.h"
#include "rtc_base/numerics/safe_conversions.h"
@@ -905,7 +905,7 @@
// is signaled. An error event can also break the main thread loop.
while (streaming && !error) {
// Wait for a close-down event, stream-switch event or a new render event.
- DWORD wait_result = WaitForMultipleObjects(arraysize(wait_array),
+ DWORD wait_result = WaitForMultipleObjects(std::size(wait_array),
wait_array, false, INFINITE);
switch (wait_result) {
case WAIT_OBJECT_0 + 0:
diff --git a/modules/audio_device/win/core_audio_utility_win.cc b/modules/audio_device/win/core_audio_utility_win.cc
index b574c28..dbfefa0 100644
--- a/modules/audio_device/win/core_audio_utility_win.cc
+++ b/modules/audio_device/win/core_audio_utility_win.cc
@@ -15,11 +15,11 @@
#include <tchar.h>
#include <iomanip>
+#include <iterator>
#include <string>
#include <utility>
#include "absl/strings/string_view.h"
-#include "rtc_base/arraysize.h"
#include "rtc_base/logging.h"
#include "rtc_base/platform_thread_types.h"
#include "rtc_base/string_utils.h"
@@ -205,7 +205,7 @@
static const wchar_t* const kAudiosesDLL =
L"%WINDIR%\\system32\\audioses.dll";
wchar_t path[MAX_PATH] = {0};
- ExpandEnvironmentStringsW(kAudiosesDLL, path, arraysize(path));
+ ExpandEnvironmentStringsW(kAudiosesDLL, path, std::size(path));
RTC_DLOG(LS_INFO) << webrtc::ToUtf8(path);
return (LoadLibraryExW(path, nullptr, LOAD_WITH_ALTERED_SEARCH_PATH) !=
nullptr);
@@ -214,7 +214,7 @@
bool LoadAvrtDll() {
static const wchar_t* const kAvrtDLL = L"%WINDIR%\\system32\\Avrt.dll";
wchar_t path[MAX_PATH] = {0};
- ExpandEnvironmentStringsW(kAvrtDLL, path, arraysize(path));
+ ExpandEnvironmentStringsW(kAvrtDLL, path, std::size(path));
RTC_DLOG(LS_INFO) << webrtc::ToUtf8(path);
return (LoadLibraryExW(path, nullptr, LOAD_WITH_ALTERED_SEARCH_PATH) !=
nullptr);
@@ -548,22 +548,21 @@
// id if only one active device exists). The first element (index 0) is the
// default device and the second element (index 1) is the default
// communication device.
- ERole role[] = {eCommunications, eConsole};
ComPtr<IMMDevice> default_device;
AudioDeviceName default_device_name;
- for (size_t i = 0; i < arraysize(role); ++i) {
+ for (ERole role : {eCommunications, eConsole}) {
default_device = CreateDeviceInternal(AudioDeviceName::kDefaultDeviceId,
- data_flow, role[i]);
+ data_flow, role);
if (!default_device.Get()) {
// Add empty strings to device name if the device could not be created.
RTC_DLOG(LS_WARNING) << "Failed to add device with role: "
- << RoleToString(role[i]);
+ << RoleToString(role);
default_device_name.device_name = std::string();
default_device_name.unique_id = std::string();
} else {
// Populate the device name with friendly name and unique id.
std::string device_name;
- device_name += (role[i] == eConsole ? "Default - " : "Communication - ");
+ device_name += (role == eConsole ? "Default - " : "Communication - ");
device_name += GetDeviceFriendlyNameInternal(default_device.Get());
std::string unique_id = GetDeviceIdInternal(default_device.Get());
default_device_name.device_name = std::move(device_name);
diff --git a/modules/audio_device/win/core_audio_utility_win_unittest.cc b/modules/audio_device/win/core_audio_utility_win_unittest.cc
index c035cc4..e6514e5 100644
--- a/modules/audio_device/win/core_audio_utility_win_unittest.cc
+++ b/modules/audio_device/win/core_audio_utility_win_unittest.cc
@@ -10,7 +10,6 @@
#include "modules/audio_device/win/core_audio_utility_win.h"
-#include "rtc_base/arraysize.h"
#include "rtc_base/logging.h"
#include "rtc_base/win/scoped_com_initializer.h"
#include "rtc_base/win/windows_version.h"
@@ -204,12 +203,11 @@
// Create default devices for all flow/role combinations above.
ComPtr<IMMDevice> audio_device;
- for (size_t i = 0; i < arraysize(data); ++i) {
+ for (auto [flow, role] : data) {
audio_device = core_audio_utility::CreateDevice(
- AudioDeviceName::kDefaultDeviceId, data[i].flow, data[i].role);
+ AudioDeviceName::kDefaultDeviceId, flow, role);
EXPECT_TRUE(audio_device.Get());
- EXPECT_EQ(data[i].flow,
- core_audio_utility::GetDataFlow(audio_device.Get()));
+ EXPECT_EQ(flow, core_audio_utility::GetDataFlow(audio_device.Get()));
}
// Only eRender and eCapture are allowed as flow parameter.
@@ -256,9 +254,9 @@
// Get name and ID of default devices for all flow/role combinations above.
ComPtr<IMMDevice> audio_device;
AudioDeviceName device_name;
- for (size_t i = 0; i < arraysize(data); ++i) {
+ for (auto [flow, role] : data) {
audio_device = core_audio_utility::CreateDevice(
- AudioDeviceName::kDefaultDeviceId, data[i].flow, data[i].role);
+ AudioDeviceName::kDefaultDeviceId, flow, role);
device_name = core_audio_utility::GetDeviceName(audio_device.Get());
EXPECT_TRUE(device_name.IsValid());
}
@@ -317,14 +315,12 @@
ABORT_TEST_IF_NOT(DevicesAvailable() && webrtc::rtc_win::GetVersion() >=
webrtc::rtc_win::VERSION_WIN7);
- EDataFlow data_flow[] = {eRender, eCapture};
-
// Obtain reference to an IAudioSessionManager2 interface for a default audio
// endpoint device specified by two different data flows and the `eConsole`
// role.
- for (size_t i = 0; i < arraysize(data_flow); ++i) {
+ for (EDataFlow data_flow : {eRender, eCapture}) {
ComPtr<IMMDevice> device(core_audio_utility::CreateDevice(
- AudioDeviceName::kDefaultDeviceId, data_flow[i], eConsole));
+ AudioDeviceName::kDefaultDeviceId, data_flow, eConsole));
EXPECT_TRUE(device.Get());
ComPtr<IAudioSessionManager2> session_manager =
core_audio_utility::CreateSessionManager2(device.Get());
@@ -336,14 +332,12 @@
ABORT_TEST_IF_NOT(DevicesAvailable() && webrtc::rtc_win::GetVersion() >=
webrtc::rtc_win::VERSION_WIN7);
- EDataFlow data_flow[] = {eRender, eCapture};
-
// Obtain reference to an IAudioSessionEnumerator interface for a default
// audio endpoint device specified by two different data flows and the
// `eConsole` role.
- for (size_t i = 0; i < arraysize(data_flow); ++i) {
+ for (EDataFlow data_flow : {eRender, eCapture}) {
ComPtr<IMMDevice> device(core_audio_utility::CreateDevice(
- AudioDeviceName::kDefaultDeviceId, data_flow[i], eConsole));
+ AudioDeviceName::kDefaultDeviceId, data_flow, eConsole));
EXPECT_TRUE(device.Get());
ComPtr<IAudioSessionEnumerator> session_enumerator =
core_audio_utility::CreateSessionEnumerator(device.Get());
@@ -362,16 +356,14 @@
ABORT_TEST_IF_NOT(DevicesAvailable() && webrtc::rtc_win::GetVersion() >=
webrtc::rtc_win::VERSION_WIN7);
- EDataFlow data_flow[] = {eRender, eCapture};
-
// Count number of active audio session for a default audio endpoint device
// specified by two different data flows and the `eConsole` role.
// Ensure that the number of active audio sessions is less than or equal to
// the total number of audio sessions on that same device.
- for (size_t i = 0; i < arraysize(data_flow); ++i) {
+ for (EDataFlow data_flow : {eRender, eCapture}) {
// Create an audio endpoint device.
ComPtr<IMMDevice> device(core_audio_utility::CreateDevice(
- AudioDeviceName::kDefaultDeviceId, data_flow[i], eConsole));
+ AudioDeviceName::kDefaultDeviceId, data_flow, eConsole));
EXPECT_TRUE(device.Get());
// Ask for total number of audio sessions on the created device.
@@ -392,13 +384,11 @@
TEST_F(CoreAudioUtilityWinTest, CreateClient) {
ABORT_TEST_IF_NOT(DevicesAvailable());
- EDataFlow data_flow[] = {eRender, eCapture};
-
// Obtain reference to an IAudioClient interface for a default audio endpoint
// device specified by two different data flows and the `eConsole` role.
- for (size_t i = 0; i < arraysize(data_flow); ++i) {
+ for (EDataFlow data_flow : {eRender, eCapture}) {
ComPtr<IAudioClient> client = core_audio_utility::CreateClient(
- AudioDeviceName::kDefaultDeviceId, data_flow[i], eConsole);
+ AudioDeviceName::kDefaultDeviceId, data_flow, eConsole);
EXPECT_TRUE(client.Get());
}
}
@@ -407,13 +397,11 @@
ABORT_TEST_IF_NOT(DevicesAvailable() &&
core_audio_utility::GetAudioClientVersion() >= 2);
- EDataFlow data_flow[] = {eRender, eCapture};
-
// Obtain reference to an IAudioClient2 interface for a default audio endpoint
// device specified by two different data flows and the `eConsole` role.
- for (size_t i = 0; i < arraysize(data_flow); ++i) {
+ for (EDataFlow data_flow : {eRender, eCapture}) {
ComPtr<IAudioClient2> client2 = core_audio_utility::CreateClient2(
- AudioDeviceName::kDefaultDeviceId, data_flow[i], eConsole);
+ AudioDeviceName::kDefaultDeviceId, data_flow, eConsole);
EXPECT_TRUE(client2.Get());
}
}
@@ -422,13 +410,11 @@
ABORT_TEST_IF_NOT(DevicesAvailable() &&
core_audio_utility::GetAudioClientVersion() >= 3);
- EDataFlow data_flow[] = {eRender, eCapture};
-
// Obtain reference to an IAudioClient3 interface for a default audio endpoint
// device specified by two different data flows and the `eConsole` role.
- for (size_t i = 0; i < arraysize(data_flow); ++i) {
+ for (EDataFlow data_flow : {eRender, eCapture}) {
ComPtr<IAudioClient3> client3 = core_audio_utility::CreateClient3(
- AudioDeviceName::kDefaultDeviceId, data_flow[i], eConsole);
+ AudioDeviceName::kDefaultDeviceId, data_flow, eConsole);
EXPECT_TRUE(client3.Get());
}
}
@@ -541,16 +527,14 @@
TEST_F(CoreAudioUtilityWinTest, GetDevicePeriod) {
ABORT_TEST_IF_NOT(DevicesAvailable());
- EDataFlow data_flow[] = {eRender, eCapture};
-
// Verify that the device periods are valid for the default render and
// capture devices.
ComPtr<IAudioClient> client;
- for (size_t i = 0; i < arraysize(data_flow); ++i) {
+ for (EDataFlow data_flow : {eRender, eCapture}) {
REFERENCE_TIME shared_time_period = 0;
REFERENCE_TIME exclusive_time_period = 0;
client = core_audio_utility::CreateClient(AudioDeviceName::kDefaultDeviceId,
- data_flow[i], eConsole);
+ data_flow, eConsole);
EXPECT_TRUE(client.Get());
EXPECT_TRUE(SUCCEEDED(core_audio_utility::GetDevicePeriod(
client.Get(), AUDCLNT_SHAREMODE_SHARED, &shared_time_period)));
@@ -577,9 +561,9 @@
// combinations above.
ComPtr<IAudioClient> client;
webrtc::AudioParameters params;
- for (size_t i = 0; i < arraysize(data); ++i) {
+ for (auto [flow, role] : data) {
client = core_audio_utility::CreateClient(AudioDeviceName::kDefaultDeviceId,
- data[i].flow, data[i].role);
+ flow, role);
EXPECT_TRUE(client.Get());
EXPECT_TRUE(SUCCEEDED(core_audio_utility::GetPreferredAudioParameters(
client.Get(), ¶ms)));
@@ -661,23 +645,21 @@
TEST_F(CoreAudioUtilityWinTest, CreateRenderAndCaptureClients) {
ABORT_TEST_IF_NOT(DevicesAvailable());
- EDataFlow data_flow[] = {eRender, eCapture};
-
WAVEFORMATPCMEX format;
uint32_t endpoint_buffer_size = 0;
- for (size_t i = 0; i < arraysize(data_flow); ++i) {
+ for (EDataFlow data_flow : {eRender, eCapture}) {
ComPtr<IAudioClient> client;
ComPtr<IAudioRenderClient> render_client;
ComPtr<IAudioCaptureClient> capture_client;
// Create a default client for the given data-flow direction.
client = core_audio_utility::CreateClient(AudioDeviceName::kDefaultDeviceId,
- data_flow[i], eConsole);
+ data_flow, eConsole);
EXPECT_TRUE(client.Get());
EXPECT_TRUE(SUCCEEDED(
core_audio_utility::GetSharedModeMixFormat(client.Get(), &format)));
- if (data_flow[i] == eRender) {
+ if (data_flow == eRender) {
// It is not possible to create a render client using an unitialized
// client interface.
render_client = core_audio_utility::CreateRenderClient(client.Get());
@@ -689,7 +671,7 @@
render_client = core_audio_utility::CreateRenderClient(client.Get());
EXPECT_TRUE(render_client.Get());
EXPECT_GT(endpoint_buffer_size, 0u);
- } else if (data_flow[i] == eCapture) {
+ } else if (data_flow == eCapture) {
// It is not possible to create a capture client using an unitialized
// client interface.
capture_client = core_audio_utility::CreateCaptureClient(client.Get());
@@ -708,18 +690,16 @@
TEST_F(CoreAudioUtilityWinTest, CreateAudioClock) {
ABORT_TEST_IF_NOT(DevicesAvailable());
- EDataFlow data_flow[] = {eRender, eCapture};
-
WAVEFORMATPCMEX format;
uint32_t endpoint_buffer_size = 0;
- for (size_t i = 0; i < arraysize(data_flow); ++i) {
+ for (EDataFlow data_flow : {eRender, eCapture}) {
ComPtr<IAudioClient> client;
ComPtr<IAudioClock> audio_clock;
// Create a default client for the given data-flow direction.
client = core_audio_utility::CreateClient(AudioDeviceName::kDefaultDeviceId,
- data_flow[i], eConsole);
+ data_flow, eConsole);
EXPECT_TRUE(client.Get());
EXPECT_TRUE(SUCCEEDED(
core_audio_utility::GetSharedModeMixFormat(client.Get(), &format)));
@@ -746,18 +726,16 @@
TEST_F(CoreAudioUtilityWinTest, CreateAudioSessionControl) {
ABORT_TEST_IF_NOT(DevicesAvailable());
- EDataFlow data_flow[] = {eRender, eCapture};
-
WAVEFORMATPCMEX format;
uint32_t endpoint_buffer_size = 0;
- for (size_t i = 0; i < arraysize(data_flow); ++i) {
+ for (EDataFlow data_flow : {eRender, eCapture}) {
ComPtr<IAudioClient> client;
ComPtr<IAudioSessionControl> audio_session_control;
// Create a default client for the given data-flow direction.
client = core_audio_utility::CreateClient(AudioDeviceName::kDefaultDeviceId,
- data_flow[i], eConsole);
+ data_flow, eConsole);
EXPECT_TRUE(client.Get());
EXPECT_TRUE(SUCCEEDED(
core_audio_utility::GetSharedModeMixFormat(client.Get(), &format)));
@@ -791,18 +769,16 @@
TEST_F(CoreAudioUtilityWinTest, CreateSimpleAudioVolume) {
ABORT_TEST_IF_NOT(DevicesAvailable());
- EDataFlow data_flow[] = {eRender, eCapture};
-
WAVEFORMATPCMEX format;
uint32_t endpoint_buffer_size = 0;
- for (size_t i = 0; i < arraysize(data_flow); ++i) {
+ for (EDataFlow data_flow : {eRender, eCapture}) {
ComPtr<IAudioClient> client;
ComPtr<ISimpleAudioVolume> simple_audio_volume;
// Create a default client for the given data-flow direction.
client = core_audio_utility::CreateClient(AudioDeviceName::kDefaultDeviceId,
- data_flow[i], eConsole);
+ data_flow, eConsole);
EXPECT_TRUE(client.Get());
EXPECT_TRUE(SUCCEEDED(
core_audio_utility::GetSharedModeMixFormat(client.Get(), &format)));
diff --git a/sdk/android/BUILD.gn b/sdk/android/BUILD.gn
index 9c9cd41..1d68092 100644
--- a/sdk/android/BUILD.gn
+++ b/sdk/android/BUILD.gn
@@ -1265,7 +1265,6 @@
"../../modules/audio_device:audio_device_buffer",
"../../rtc_base:checks",
"../../rtc_base:logging",
- "../../rtc_base:macromagic",
"../../rtc_base:platform_thread",
"../../rtc_base:timeutils",
"../../system_wrappers:metrics",
@@ -1296,7 +1295,6 @@
"../../modules/audio_device:audio_device_buffer",
"../../rtc_base:checks",
"../../rtc_base:logging",
- "../../rtc_base:macromagic",
"../../rtc_base:stringutils",
"../../rtc_base:timeutils",
"../../system_wrappers",
@@ -1327,7 +1325,6 @@
"../../modules/audio_device:audio_device_buffer",
"../../rtc_base:checks",
"../../rtc_base:logging",
- "../../rtc_base:macromagic",
"../../rtc_base:platform_thread",
"../../rtc_base:timeutils",
]
@@ -1741,7 +1738,6 @@
"../../rtc_base:checks",
"../../rtc_base:ip_address",
"../../rtc_base:logging",
- "../../rtc_base:macromagic",
"../../rtc_base:platform_thread",
"../../rtc_base:rtc_event",
"../../rtc_base:stringutils",
diff --git a/sdk/android/native_unittests/audio_device/audio_device_unittest.cc b/sdk/android/native_unittests/audio_device/audio_device_unittest.cc
index e8e5ad7..62c81c4 100644
--- a/sdk/android/native_unittests/audio_device/audio_device_unittest.cc
+++ b/sdk/android/native_unittests/audio_device/audio_device_unittest.cc
@@ -18,7 +18,6 @@
#include "api/environment/environment_factory.h"
#include "api/scoped_refptr.h"
#include "modules/audio_device/include/mock_audio_transport.h"
-#include "rtc_base/arraysize.h"
#include "rtc_base/event.h"
#include "rtc_base/synchronization/mutex.h"
#include "rtc_base/time_utils.h"
diff --git a/sdk/android/src/jni/audio_device/audio_record_jni.cc b/sdk/android/src/jni/audio_device/audio_record_jni.cc
index 195950b..43706e9 100644
--- a/sdk/android/src/jni/audio_device/audio_record_jni.cc
+++ b/sdk/android/src/jni/audio_device/audio_record_jni.cc
@@ -13,7 +13,6 @@
#include <string>
#include <utility>
-#include "rtc_base/arraysize.h"
#include "rtc_base/checks.h"
#include "rtc_base/logging.h"
#include "rtc_base/platform_thread.h"
diff --git a/sdk/android/src/jni/audio_device/opensles_common.cc b/sdk/android/src/jni/audio_device/opensles_common.cc
index 300019a..8225518 100644
--- a/sdk/android/src/jni/audio_device/opensles_common.cc
+++ b/sdk/android/src/jni/audio_device/opensles_common.cc
@@ -12,7 +12,8 @@
#include <SLES/OpenSLES.h>
-#include "rtc_base/arraysize.h"
+#include <iterator>
+
#include "rtc_base/checks.h"
namespace webrtc {
@@ -42,7 +43,7 @@
"SL_RESULT_CONTROL_LOST", // 16
};
- if (code >= arraysize(sl_error_strings)) {
+ if (code >= std::size(sl_error_strings)) {
return "SL_RESULT_UNKNOWN_ERROR";
}
return sl_error_strings[code];
diff --git a/sdk/android/src/jni/audio_device/opensles_player.cc b/sdk/android/src/jni/audio_device/opensles_player.cc
index efb6766..674e6e0 100644
--- a/sdk/android/src/jni/audio_device/opensles_player.cc
+++ b/sdk/android/src/jni/audio_device/opensles_player.cc
@@ -12,11 +12,11 @@
#include <android/log.h>
+#include <iterator>
#include <memory>
#include "api/array_view.h"
#include "modules/audio_device/fine_audio_buffer.h"
-#include "rtc_base/arraysize.h"
#include "rtc_base/checks.h"
#include "rtc_base/platform_thread.h"
#include "rtc_base/time_utils.h"
@@ -307,7 +307,7 @@
RETURN_ON_ERROR(
(*engine_)->CreateAudioPlayer(
engine_, player_object_.Receive(), &audio_source, &audio_sink,
- arraysize(interface_ids), interface_ids, interface_required),
+ std::size(interface_ids), interface_ids, interface_required),
false);
// Use the Android configuration interface to set platform-specific
diff --git a/sdk/android/src/jni/audio_device/opensles_recorder.cc b/sdk/android/src/jni/audio_device/opensles_recorder.cc
index 8e9bfaa..b34cba9 100644
--- a/sdk/android/src/jni/audio_device/opensles_recorder.cc
+++ b/sdk/android/src/jni/audio_device/opensles_recorder.cc
@@ -12,11 +12,11 @@
#include <android/log.h>
+#include <iterator>
#include <memory>
#include "api/array_view.h"
#include "modules/audio_device/fine_audio_buffer.h"
-#include "rtc_base/arraysize.h"
#include "rtc_base/checks.h"
#include "rtc_base/platform_thread.h"
#include "rtc_base/time_utils.h"
@@ -264,7 +264,7 @@
const SLboolean interface_required[] = {SL_BOOLEAN_TRUE, SL_BOOLEAN_TRUE};
if (LOG_ON_ERROR((*engine_)->CreateAudioRecorder(
engine_, recorder_object_.Receive(), &audio_source, &audio_sink,
- arraysize(interface_id), interface_id, interface_required))) {
+ std::size(interface_id), interface_id, interface_required))) {
return false;
}