https://github.com/system233/aac-lib
c++ library of fdk-aac
https://github.com/system233/aac-lib
Last synced: about 1 month ago
JSON representation
c++ library of fdk-aac
- Host: GitHub
- URL: https://github.com/system233/aac-lib
- Owner: System233
- License: other
- Created: 2022-04-06T05:55:45.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2022-04-25T05:55:48.000Z (about 4 years ago)
- Last Synced: 2025-12-09T04:22:49.029Z (6 months ago)
- Language: C++
- Size: 10.7 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# aac-lib
A simple c++ library for fdk-aac.
## API
```cpp
class ICodec{
public:
virtual CodecOption const&info()const=0;
virtual size_t write(void const*data,size_t len)=0;
virtual size_t read(void*data,size_t len)=0;
virtual ~ICodec(){};
};
std::unique_ptr createAACEncoder(CodecOption const&option);
std::unique_ptr createAACDecoder(TransportType transportType);
```
## Usage
```cpp
auto encoder=createAACEncoder();
auto writtenPCMSize=encoder->write(pcmBuffer,pcmBufferSize);
auto encodedAACSize=encoder->read(buffer,bufferSize);
auto decoder=createAACDecoder();
decoder->write(buffer,encodedAACSize);//the buffer must remain valid until read!
auto decodedPCMSize=decoder->read(pcmBuffer,pcmBufferSize);
```