sig
  type t
  val create : int -> int -> int -> int -> int -> Vorbis.Encoder.t
  val create_vbr : int -> int -> float -> Vorbis.Encoder.t
  val reset : Vorbis.Encoder.t -> unit
  val headerout :
    Vorbis.Encoder.t -> Ogg.Stream.t -> (string * string) list -> unit
  val headerout_packetout :
    Vorbis.Encoder.t ->
    (string * string) list ->
    Ogg.Stream.packet * Ogg.Stream.packet * Ogg.Stream.packet
  val encode_buffer_float :
    Vorbis.Encoder.t ->
    Ogg.Stream.t -> float array array -> int -> int -> unit
  val time_of_granulepos : Vorbis.Encoder.t -> Int64.t -> Nativeint.t
  val end_of_stream : Vorbis.Encoder.t -> Ogg.Stream.t -> unit
end