sig
exception Invalid_parameters
exception Invalid_quality
exception Invalid_bitrate
exception Invalid_channels
exception Invalid_sample_freq
exception Invalid_argument
exception Could_not_open_file
exception Not_vorbis
exception Bad_header
exception Read_error
exception Internal_fault
exception Hole_in_data
exception Bad_link
exception Version_mismatch
exception Not_implemented
exception Unknown_error of int
exception Utf8_failure of string
type bitstream = int
type info = {
vorbis_version : int;
audio_channels : int;
audio_samplerate : int;
bitrate_upper : int;
bitrate_nominal : int;
bitrate_lower : int;
bitrate_window : int;
}
val tags :
?title:string ->
?artist:string ->
?genre:string ->
?date:string ->
?album:string ->
?tracknumber:string -> ?comment:string -> unit -> (string * string) list
module Encoder :
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 encode_buffer_float :
Vorbis.Encoder.t ->
Ogg.Stream.t -> float array array -> int -> int -> unit
val end_of_stream : Vorbis.Encoder.t -> Ogg.Stream.t -> unit
end
module Decoder :
sig
type t
val create :
(int -> string * int) ->
(int -> Unix.seek_command -> int) ->
(unit -> unit) -> (unit -> int) -> Vorbis.Decoder.t
val openfile : string -> Vorbis.Decoder.t
val openfile_with_fd : string -> Vorbis.Decoder.t * Unix.file_descr
val decode_float :
Vorbis.Decoder.t -> float array array -> int -> int -> int
val decode_float_alloc : Vorbis.Decoder.t -> int -> float array array
val decode :
Vorbis.Decoder.t ->
?big_endian:bool ->
?sample_size:int -> ?signed:bool -> string -> int -> int -> int
val close : Vorbis.Decoder.t -> unit
val streams : Vorbis.Decoder.t -> int
val bitstream : Vorbis.Decoder.t -> Vorbis.bitstream
val comments :
Vorbis.Decoder.t ->
Vorbis.bitstream -> string * (string * string) list
val info : Vorbis.Decoder.t -> Vorbis.bitstream -> Vorbis.info
val bitrate : Vorbis.Decoder.t -> Vorbis.bitstream -> int
val samples : Vorbis.Decoder.t -> Vorbis.bitstream -> int
val duration : Vorbis.Decoder.t -> Vorbis.bitstream -> float
val serialnumber : Vorbis.Decoder.t -> Vorbis.bitstream -> int
end
end