public final class FdkAACLibFacade
extends java.lang.Object
| Modifier and Type | Method and Description |
|---|---|
static void |
closeEncoder(AACEncoder encoder)
Close a previously opened
AACEncoder. |
static java.util.Optional<byte[]> |
encode(AACEncoder encoder,
AACEncBufDesc inBufferDescriptor,
AACEncBufDesc outBufferDescriptor,
AACEncInArgs inArgs,
AACEncOutArgs outArgs,
int size)
Encode raw (WAV) bytes to AAC.
|
static AACEncInfo |
getEncoderInfo(AACEncoder encoder)
Get library information on a previously opened
AACEncoder. |
static AACEncBufDesc |
inBufferDescriptor(com.sun.jna.Memory buffer)
A utility function construct an in-buffer descriptor according to the fdk-aac library specifications.
|
static void |
initEncoder(AACEncoder encoder)
Initialize a previously opened
AACEncoder. |
static AACEncoder |
openEncoder(int modules,
int maxChannels)
Open (create) an
AACEncoder. |
static AACEncBufDesc |
outBufferDescriptor(com.sun.jna.Memory buffer)
A utility function construct an out-buffer descriptor according to the fdk-aac library specifications.
|
static void |
setEncoderParam(AACEncoder encoder,
AACEncParam param,
int value)
Set an
AACEncParam parameter value on previously opened AACEncoder. |
public static AACEncoder openEncoder(int modules, int maxChannels)
AACEncoder.modules - fdk-aac encoder modules bitmaskmaxChannels - the maximum number of expected audio channelsAACEncoder instance, populated by fdk-aac library.public static void closeEncoder(@Nonnull
AACEncoder encoder)
AACEncoder.encoder - an AACEncoder instance, previously opened by the fdk-aac librarypublic static void initEncoder(@Nonnull
AACEncoder encoder)
AACEncoder.encoder - an AACEncoder instance, previously opened by the fdk-aac librarypublic static java.util.Optional<byte[]> encode(@Nonnull
AACEncoder encoder,
@Nonnull
AACEncBufDesc inBufferDescriptor,
@Nonnull
AACEncBufDesc outBufferDescriptor,
@Nonnull
AACEncInArgs inArgs,
@Nonnull
AACEncOutArgs outArgs,
int size)
Most of the passed arguments are reused/pre-allocated outside of this function to mitigate memory-pressure effects.
encoder - an AACEncoder instance, previously opened and initialized by the fdk-aac libraryinBufferDescriptor - pre instantiated in-buffer descriptor used to hold input raw bytesoutBufferDescriptor - pre instantiated out-buffer descriptor used to hold output encoded bytesinArgs - input encoder data structureoutArgs - output encoder data structuresize - input data size indicatorpublic static AACEncInfo getEncoderInfo(@Nonnull AACEncoder encoder)
AACEncoder.encoder - an AACEncoder instance, previously opened by the fdk-aac librarypublic static void setEncoderParam(@Nonnull
AACEncoder encoder,
@Nonnull
AACEncParam param,
int value)
AACEncParam parameter value on previously opened AACEncoder.encoder - an AACEncoder instance, previously opened by the fdk-aac libraryparam - the parameter descriptor.value - the parameter valuepublic static AACEncBufDesc outBufferDescriptor(@Nonnull com.sun.jna.Memory buffer)
buffer - a pre-allocated native memory region to be used by this descriptorpublic static AACEncBufDesc inBufferDescriptor(@Nonnull com.sun.jna.Memory buffer)
buffer - a pre-allocated native memory region to be used by this descriptor