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 :
    ?encoder:string ->
    Vorbis.Encoder.t -> Ogg.Stream.stream -> (string * string) list -> unit
  val headerout_packetout :
    ?encoder:string ->
    Vorbis.Encoder.t ->
    (string * string) list ->
    Ogg.Stream.packet * Ogg.Stream.packet * Ogg.Stream.packet
  val get_channels : Vorbis.Encoder.t -> int
  val encode_buffer_float :
    Vorbis.Encoder.t ->
    Ogg.Stream.stream -> float array array -> int -> int -> unit
  val time_of_granulepos :
    Vorbis.Encoder.t -> Stdlib.Int64.t -> Stdlib.Nativeint.t
  val end_of_stream : Vorbis.Encoder.t -> Ogg.Stream.stream -> unit
end