Module Speex.Encoder

module Encoder: sig .. end

type t 
Opaque type for the speex encoder.
val init : Speex.mode -> int -> t
Initiate a new encoder.
val get : t -> Speex.control -> int
Get a parameter.
val set : t -> Speex.control -> int -> unit
Set a parameter.
val encode_page : t -> Ogg.Stream.t -> (unit -> float array) -> Ogg.Page.t
encode_page encoder stream f: calls f to get audio data and encode it until a page is ready.

Known issue: float expected values seem not to be in -1..1 but in -32768..32767 which does not seem to be correct.

val encode_page_stereo : t -> Ogg.Stream.t -> (unit -> float array array) -> Ogg.Page.t
Same as encode_page except that it encodes stereo data into mono.
val encode_page_int : t -> Ogg.Stream.t -> (unit -> int array) -> Ogg.Page.t
Same as encode_page but using integers.
val encode_page_int_stereo : t -> Ogg.Stream.t -> (unit -> int array array) -> Ogg.Page.t
Same as encode_page_stereo but using integers.
val eos : t -> Ogg.Stream.t -> unit
Set the end of stream for this stream.