nrfxlib API 0.1.0
|
LC3EncoderHandle_t LC3EncodeSessionOpen | ( | uint16_t | sampleRate, |
uint8_t | bitsPerSample, | ||
LC3FrameSize_t | frameSize, | ||
uint8_t * | buffer, | ||
uint16_t * | bufferSize, | ||
int32_t * | result | ||
) |
#include <lc3/codec/inc/LC3API.h>
Opens and initializes an LC3 Encoder session.
This function initializes the LC3 encoder in preparation for encoding one stream of audio. It allocates the memory needed for the session's processing, including any used for tracking progress from frame to frame, and initializes the allocated memory.
A non-NULL handle to the encoder session is returned when successful. The handle value is passed to future calls of LC3EncodeSessionData() and LC3EncodeSessionClose() for this session.
This function can allocate its own memory or take a user-provided buffer. It can also return the amount of memory needed without initializing. These memory options are performed in the following ways:
bufferSize = NULL: Allocates memory needed. The buffer parameter may be NULL.
*bufferSize < memory required by encoder: Sets bufferSize's referenced value to the total memory required and returns LC3_RESULT_INSUFFICIENT_RESOURCES. The caller can then call this function again with a buffer of at least bufferSize's referenced value. A size of 0 will always trigger this condition. The buffer parameter may be NULL.
*bufferSize >= memory required by encoder: Uses the user-provided buffer. bufferSize's referenced value is set to the amount of memory used by the encoder. The buffer parameter may not be NULL.
[in] | sampleRate | Input PCM sample rate in Hz. |
[in] | bitsPerSample | Input PCM bits per sample. |
[in] | frameSize | Frame size of 7.5 or 10 msec. |
[in] | buffer | Pointer to a memory buffer. |
[in,out] | bufferSize | Size of the memory buffer passed in, number of bytes used returned. |
[out] | result | Pointer to an LC3 Return Code integer. |