OpenCore  1.0.4
OpenCore Bootloader
Loading...
Searching...
No Matches
AudioDecode.c File Reference
#include "AudioDxe.h"
#include <Library/OcMp3Lib.h>
#include <Library/OcWaveLib.h>

Go to the source code of this file.

Functions

STATIC EFI_STATUS EFIAPI AudioDecodeWave (IN EFI_AUDIO_DECODE_PROTOCOL *This, IN CONST VOID *InBuffer, IN UINT32 InBufferSize, OUT VOID **OutBuffer, OUT UINT32 *OutBufferSize, OUT EFI_AUDIO_IO_PROTOCOL_FREQ *Frequency, OUT EFI_AUDIO_IO_PROTOCOL_BITS *Bits, OUT UINT8 *Channels, IN BOOLEAN InPlace)
 
STATIC EFI_STATUS EFIAPI AudioDecodeMp3 (IN EFI_AUDIO_DECODE_PROTOCOL *This, IN CONST VOID *InBuffer, IN UINT32 InBufferSize, OUT VOID **OutBuffer, OUT UINT32 *OutBufferSize, OUT EFI_AUDIO_IO_PROTOCOL_FREQ *Frequency, OUT EFI_AUDIO_IO_PROTOCOL_BITS *Bits, OUT UINT8 *Channels)
 
STATIC EFI_STATUS EFIAPI AudioDecodeAny (IN EFI_AUDIO_DECODE_PROTOCOL *This, IN CONST VOID *InBuffer, IN UINT32 InBufferSize, OUT VOID **OutBuffer, OUT UINT32 *OutBufferSize, OUT EFI_AUDIO_IO_PROTOCOL_FREQ *Frequency, OUT EFI_AUDIO_IO_PROTOCOL_BITS *Bits, OUT UINT8 *Channels)
 

Variables

EFI_AUDIO_DECODE_PROTOCOL gEfiAudioDecodeProtocol
 

Function Documentation

◆ AudioDecodeAny()

STATIC EFI_STATUS EFIAPI AudioDecodeAny ( IN EFI_AUDIO_DECODE_PROTOCOL * This,
IN CONST VOID * InBuffer,
IN UINT32 InBufferSize,
OUT VOID ** OutBuffer,
OUT UINT32 * OutBufferSize,
OUT EFI_AUDIO_IO_PROTOCOL_FREQ * Frequency,
OUT EFI_AUDIO_IO_PROTOCOL_BITS * Bits,
OUT UINT8 * Channels )

Decode any supported audio to PCM audio.

Parameters
[in]ThisAudio decode protocol instance.
[in]InBufferBuffer with audio data.
[in]InBufferSizeInBuffer size in bytes.
[out]OutBufferDecoded PCM data allocated from pool (needs to be freed).
[out]OutBufferSizeDecoded PCM data size in bytes.
[out]FrequencyDecoded PCM frequency.
[out]BitsDecoded bit count.
[out]ChannelsDecoded amount of channels.
Return values
EFI_SUCCESSon success.
EFI_INVALID_PARAMETERfor null pointers.
EFI_UNSUPPORTEDon format mismatch.
EFI_OUT_OF_RESOURCESon memory allocation failure.

Definition at line 154 of file AudioDecode.c.

◆ AudioDecodeMp3()

STATIC EFI_STATUS EFIAPI AudioDecodeMp3 ( IN EFI_AUDIO_DECODE_PROTOCOL * This,
IN CONST VOID * InBuffer,
IN UINT32 InBufferSize,
OUT VOID ** OutBuffer,
OUT UINT32 * OutBufferSize,
OUT EFI_AUDIO_IO_PROTOCOL_FREQ * Frequency,
OUT EFI_AUDIO_IO_PROTOCOL_BITS * Bits,
OUT UINT8 * Channels )

Decode MP3 audio to PCM audio.

Parameters
[in]ThisAudio decode protocol instance.
[in]InBufferBuffer with audio data.
[in]InBufferSizeInBuffer size in bytes.
[out]OutBufferDecoded PCM data allocated from pool (needs to be freed).
[out]OutBufferSizeDecoded PCM data size in bytes.
[out]FrequencyDecoded PCM frequency.
[out]BitsDecoded bit count.
[out]ChannelsDecoded amount of channels.
Return values
EFI_SUCCESSon success.
EFI_INVALID_PARAMETERfor null pointers.
EFI_UNSUPPORTEDon format mismatch.
EFI_OUT_OF_RESOURCESon memory allocation failure.

Definition at line 108 of file AudioDecode.c.

◆ AudioDecodeWave()

STATIC EFI_STATUS EFIAPI AudioDecodeWave ( IN EFI_AUDIO_DECODE_PROTOCOL * This,
IN CONST VOID * InBuffer,
IN UINT32 InBufferSize,
OUT VOID ** OutBuffer,
OUT UINT32 * OutBufferSize,
OUT EFI_AUDIO_IO_PROTOCOL_FREQ * Frequency,
OUT EFI_AUDIO_IO_PROTOCOL_BITS * Bits,
OUT UINT8 * Channels,
IN BOOLEAN InPlace )

Decode WAVE audio to PCM audio.

Parameters
[in]ThisAudio decode protocol instance.
[in]InBufferBuffer with audio data.
[in]InBufferSizeInBuffer size in bytes.
[out]OutBufferDecoded PCM data.
[out]OutBufferSizeDecoded PCM data size in bytes.
[out]FrequencyDecoded PCM frequency.
[out]BitsDecoded bit count.
[out]ChannelsDecoded amount of channels.
[in]InPlaceDo not allocate OutBuffer, but reuse InBuffer. Otherwise allocated from pool and needs to be freed.
Return values
EFI_SUCCESSon success.
EFI_INVALID_PARAMETERfor null pointers.
EFI_UNSUPPORTEDon format mismatch.
EFI_OUT_OF_RESOURCESon memory allocation failure.

Definition at line 51 of file AudioDecode.c.

Variable Documentation

◆ gEfiAudioDecodeProtocol

EFI_AUDIO_DECODE_PROTOCOL gEfiAudioDecodeProtocol
Initial value:
= {
.DecodeAny = AudioDecodeAny,
.DecodeWave = AudioDecodeWave,
.DecodeMp3 = AudioDecodeMp3
}
STATIC EFI_STATUS EFIAPI AudioDecodeMp3(IN EFI_AUDIO_DECODE_PROTOCOL *This, IN CONST VOID *InBuffer, IN UINT32 InBufferSize, OUT VOID **OutBuffer, OUT UINT32 *OutBufferSize, OUT EFI_AUDIO_IO_PROTOCOL_FREQ *Frequency, OUT EFI_AUDIO_IO_PROTOCOL_BITS *Bits, OUT UINT8 *Channels)
STATIC EFI_STATUS EFIAPI AudioDecodeAny(IN EFI_AUDIO_DECODE_PROTOCOL *This, IN CONST VOID *InBuffer, IN UINT32 InBufferSize, OUT VOID **OutBuffer, OUT UINT32 *OutBufferSize, OUT EFI_AUDIO_IO_PROTOCOL_FREQ *Frequency, OUT EFI_AUDIO_IO_PROTOCOL_BITS *Bits, OUT UINT8 *Channels)
STATIC EFI_STATUS EFIAPI AudioDecodeWave(IN EFI_AUDIO_DECODE_PROTOCOL *This, IN CONST VOID *InBuffer, IN UINT32 InBufferSize, OUT VOID **OutBuffer, OUT UINT32 *OutBufferSize, OUT EFI_AUDIO_IO_PROTOCOL_FREQ *Frequency, OUT EFI_AUDIO_IO_PROTOCOL_BITS *Bits, OUT UINT8 *Channels, IN BOOLEAN InPlace)
Definition AudioDecode.c:51

Protocol definition.

Definition at line 198 of file AudioDecode.c.