/** @file This library implements audio interaction. Copyright (c) 2020, vit9696. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause **/ #ifndef OC_AUDIO_LIB_H #define OC_AUDIO_LIB_H #include #include #include #define OC_AUDIO_DEFAULT_GAIN (-30) /** Install audio support protocols. @param[in] Reinstall Overwrite installed protocols. @param[in] DisconnectHda Attempt to disconnect HDA controller first. @retval installed protocol. @retval NULL when conflicting audio implementation is present. @retval NULL when installation failed. **/ OC_AUDIO_PROTOCOL * OcAudioInstallProtocols ( IN BOOLEAN Reinstall, IN BOOLEAN DisconnectHda ); /** Convert language code to ASCII string. @param[in] LanguageCode Code. @retval ASCII string. **/ CONST CHAR8 * OcLanguageCodeToString ( IN APPLE_VOICE_OVER_LANGUAGE_CODE LanguageCode ); /** Get system amplifier gain. @param[out] RawGain Raw codec gain setting. @param[out] DecibelGain Decibel gain setting. @param[out] Muted Whether amplifier should be muted. @param[out] TryConversion TRUE when decibel gain setting is a default value and raw codec gain setting is a real value. **/ VOID OcGetAmplifierGain ( OUT UINT8 *RawGain, OUT INT8 *DecibelGain, OUT BOOLEAN *Muted, OUT BOOLEAN *TryConversion ); /** Set VoiceOver language from string. @param[in] Language Language string, optional for system. @retval EFI_SUCCESS on success. **/ EFI_STATUS OcSetVoiceOverLanguage ( CONST CHAR8 *Language OPTIONAL ); /** Dump audio data to the specified directory. @param[in] Root Directory to write audio data. @retval EFI_SUCCESS on success. **/ EFI_STATUS OcAudioDump ( IN EFI_FILE_PROTOCOL *Root ); // // Base path and base type for a given APPLE_VOICE_OVER_AUDIO_FILE index. // typedef struct { CONST CHAR8 *BasePath; CONST CHAR8 *BaseType; } APPLE_VOICE_OVER_FILE_MAP; #endif // OC_AUDIO_LIB_H