sig
exception Invalid_parameters
exception Invalid_quality
exception Invalid_bitrate
exception Invalid_channels
exception Invalid_sample_freq
exception Could_not_open_file
exception Not_a_vorbis_file
exception Hole_in_data
exception Utf8_failure of string
type encoder
type enc_params = {
enc_bitrate : int option;
enc_min_bitrate : int option;
enc_max_bitrate : int option;
enc_quality : float;
enc_channels : int;
enc_sample_freq : int option;
enc_managed : bool;
enc_in_channels : int;
enc_in_sample_freq : int;
enc_in_sample_size : int;
enc_in_big_endian : bool;
}
val create_encoder :
?title:string ->
?artist:string ->
?genre:string ->
?date:string ->
?album:string ->
?tracknum:string -> Vorbis.enc_params -> Vorbis.encoder * string
val create_encoder_opt :
string option ->
string option ->
string option ->
string option ->
string option ->
string option -> Vorbis.enc_params -> Vorbis.encoder * string
val encode_buffer : Vorbis.encoder -> string -> string
type dec_params = {
channels : int;
sample_freq : int;
sample_size : int;
big_endian : bool;
signed : bool;
}
type dec_file
val open_dec_file : string -> Vorbis.dec_params -> Vorbis.dec_file
val decode : Vorbis.dec_file -> string -> int -> int -> int
val close_dec_file : Vorbis.dec_file -> unit
val encoder_reset :
?title:string ->
?artist:string ->
?genre:string ->
?date:string ->
?album:string -> ?tracknum:string -> Vorbis.encoder -> string
val encoder_reset_opt :
string option ->
string option ->
string option ->
string option ->
string option -> string option -> Vorbis.encoder -> string
type info = {
vorbis_version : int;
audio_channels : int;
audio_sample_rate : int;
bitrate_maximum : int option;
bitrate_nominal : int option;
bitrate_minimum : int option;
blocksize_0 : int;
blocksize_1 : int;
duration : int;
}
val get_comments : string -> string * (string * string) array
val get_info : string -> Vorbis.info
val file_size : string -> int
module type Iofile =
sig
type file_descr
type open_flag = O_RDONLY | O_WRONLY | O_RDWR | O_CREAT | O_TRUNC
type file_perm = int
type seek_command = SEEK_SET | SEEK_CUR | SEEK_END
val openfile :
string ->
Vorbis.Iofile.open_flag list ->
Vorbis.Iofile.file_perm -> Vorbis.Iofile.file_descr
val close : Vorbis.Iofile.file_descr -> unit
val read : Vorbis.Iofile.file_descr -> string -> int -> int -> int
val lseek :
Vorbis.Iofile.file_descr -> int -> Vorbis.Iofile.seek_command -> int
end
module Info :
functor (Io : Iofile) ->
sig
val get_comments : string -> string * (string * string) array
val get_info : string -> Vorbis.info
val get_heuristical_info : string -> Vorbis.info
val file_size : string -> int
end
end