Awesome
opus-ada
Ada 2012 bindings for the Opus audio codec.
Status
Only the encoder and decoder have been binded. The TODO shows some few functions
that are yet to be binded.
Some other functions like opus_encoder_get_size
, opus_encoder_init
,
opus_decoder_get_size
, and opus_decoder_init
will never be binded at all.
Other function may or may not be binded in the future.
These are: opus_repacketizer_*
, opus_multistream_*
, and opus_packet_*
.
Tasking
The Opus.Encoders.Encoder_Data
and Opus.Decoders.Decoder_Data
are not designed
to be used by multiple tasks.
TODO
- Write some tests for Opus.Encoder.Encode and Opus.Decoder.Decode
- Bind
opus_decode_float
andopus_encode_float
- Bind
opus_decoder_get_nb_samples
andopus_pcm_soft_clip
Dependencies
In order to build the library, you need to have:
-
An Ada 2012 compiler
-
Alire package manager
-
Ahven 2.x for the unit tests
License
The Ada code is licensed under the Apache License 2.0. The first line of each Ada file should contain an SPDX license identifier tag that refers to this license:
SPDX-License-Identifier: Apache-2.0
Most of the documentation in the *.ads
files has been copied from opus.h
and
opus_defines.h
and is licensed under the license of those files; the Simplified BSD License.