# Module Voaacenc

    module Voaacenc: sig .. end

## AAC encoding module for OCaml

### Exceptions

    exception Failed

    exception Not_implemented

    exception Invalid_voaacenc_argument

    exception Input_buffer_too_small

    exception Output_buffer_too_small

    exception Unknown of int

    val string_of_exception : exn -> string option

### Types

    type parameters = {

`` | `samplerate : `int`;`
`` | `channels : `int`;`
`` | `bitrate : `int`;`
`` | `adts : `bool`;`

`}`

    type t

### Functions

    val create : parameters -> t

Create a new encoder.

    val recommended_minimum_input : t -> int

Recommended minimun input to feed to the decoder.

    val encode_string : t -> string -> string * int

`encode_string enc data` encodes the given S16LE pcm buffer and returns AAC data and the number of input bytes consumed by the decoder.

    val encode_substring : t -> string -> int -> int -> string * int

`encode_substring enc data offset len` encodes the sub-string of `data` starting at position `offset` and of length `len`. Raises `Invalid_argument` if such sub-string does not exist.

    val encode_buffer : t -> Stdlib.Buffer.t -> string

`encode_buffer enc buffer` encodes S16LE data from the string buffer `buffer` and drops consumed data from `buffer`. This does nothing if `Buffer.length buffer < recommended_minumun_input enc`