Skip to content

Commit

Permalink
Don't use alcGetEnumValue/alcGetProcAddress for non-ALC enum values/f…
Browse files Browse the repository at this point in the history
…unctions

This makes no effective change for openal-soft as alGetEnumValue and alcGetEnumValue do lookup in the same table, but it's more semantically right and openal-soft is not the only implementation of the API
  • Loading branch information
ilya-fedin authored and john-preston committed Jan 25, 2023
1 parent 0a1290d commit 853b9d8
Showing 1 changed file with 16 additions and 16 deletions.
32 changes: 16 additions & 16 deletions webrtc/details/webrtc_openal_adm.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -259,29 +259,29 @@ int32_t AudioDeviceOpenAL::Init() {
if (!alcSetThreadContext) {
return -1;
}
alEventCallbackSOFT = (ALEVENTCALLBACKSOFT)alcGetProcAddress(
nullptr,
alEventCallbackSOFT = (ALEVENTCALLBACKSOFT)alGetProcAddress(
"alEventCallbackSOFT");

alGetSourcei64vSOFT = (ALGETSOURCEI64VSOFT)alcGetProcAddress(
nullptr,
alGetSourcei64vSOFT = (ALGETSOURCEI64VSOFT)alGetProcAddress(
"alGetSourcei64vSOFT");

alcGetInteger64vSOFT = (ALCGETINTEGER64VSOFT)alcGetProcAddress(
nullptr,
"alcGetInteger64vSOFT");

#define RESOLVE_ENUM(ENUM) k##ENUM = alcGetEnumValue(nullptr, #ENUM)
RESOLVE_ENUM(AL_EVENT_CALLBACK_FUNCTION_SOFT);
RESOLVE_ENUM(AL_EVENT_CALLBACK_FUNCTION_SOFT);
RESOLVE_ENUM(AL_EVENT_CALLBACK_USER_PARAM_SOFT);
RESOLVE_ENUM(AL_EVENT_TYPE_BUFFER_COMPLETED_SOFT);
RESOLVE_ENUM(AL_EVENT_TYPE_SOURCE_STATE_CHANGED_SOFT);
RESOLVE_ENUM(AL_EVENT_TYPE_DISCONNECTED_SOFT);
RESOLVE_ENUM(AL_SAMPLE_OFFSET_CLOCK_SOFT);
RESOLVE_ENUM(AL_SAMPLE_OFFSET_CLOCK_EXACT_SOFT);
RESOLVE_ENUM(ALC_DEVICE_LATENCY_SOFT);
#undef RESOLVE_ENUM
#define RESOLVE_AL_ENUM(ENUM) k##ENUM = alGetEnumValue(#ENUM)
#define RESOLVE_ALC_ENUM(ENUM) k##ENUM = alcGetEnumValue(nullptr, #ENUM)
RESOLVE_AL_ENUM(AL_EVENT_CALLBACK_FUNCTION_SOFT);
RESOLVE_AL_ENUM(AL_EVENT_CALLBACK_FUNCTION_SOFT);
RESOLVE_AL_ENUM(AL_EVENT_CALLBACK_USER_PARAM_SOFT);
RESOLVE_AL_ENUM(AL_EVENT_TYPE_BUFFER_COMPLETED_SOFT);
RESOLVE_AL_ENUM(AL_EVENT_TYPE_SOURCE_STATE_CHANGED_SOFT);
RESOLVE_AL_ENUM(AL_EVENT_TYPE_DISCONNECTED_SOFT);
RESOLVE_AL_ENUM(AL_SAMPLE_OFFSET_CLOCK_SOFT);
RESOLVE_AL_ENUM(AL_SAMPLE_OFFSET_CLOCK_EXACT_SOFT);
RESOLVE_ALC_ENUM(ALC_DEVICE_LATENCY_SOFT);
#undef RESOLVE_ALC_ENUM
#undef RESOLVE_AL_ENUM

_initialized = true;
return 0;
Expand Down Expand Up @@ -977,7 +977,7 @@ void AudioDeviceOpenAL::startPlayingOnThread() {
alSourcei(
source,
alGetEnumValue("AL_DIRECT_CHANNELS_SOFT"),
alcGetEnumValue(nullptr, "AL_REMIX_UNMATCHED_SOFT"));
alGetEnumValue("AL_REMIX_UNMATCHED_SOFT"));
}
_data->source = source;
alGenBuffers(_data->buffers.size(), _data->buffers.data());
Expand Down

0 comments on commit 853b9d8

Please sign in to comment.