sig
type t = Frame.t
val duration : unit -> float
val size : unit -> int
val position : AFrame.t -> int
val breaks : AFrame.t -> int list
val add_break : AFrame.t -> int -> unit
val set_breaks : AFrame.t -> int list -> unit
val is_partial : AFrame.t -> bool
val clear : AFrame.t -> unit
val advance : AFrame.t -> unit
exception No_metadata
type metadata = (string, string) Hashtbl.t
val free_metadata : AFrame.t -> int -> unit
val set_metadata : AFrame.t -> int -> AFrame.metadata -> unit
val get_metadata : AFrame.t -> int -> AFrame.metadata option
val free_all_metadata : AFrame.t -> unit
val get_all_metadata : AFrame.t -> (int * AFrame.metadata) list
val set_all_metadata : AFrame.t -> (int * AFrame.metadata) list -> unit
exception No_chunk
val get_chunk : AFrame.t -> AFrame.t -> unit
val content : AFrame.t -> int -> float array array
val content_of_type : channels:int -> AFrame.t -> int -> float array array
val to_s16le : AFrame.t -> string
val blankify : AFrame.t -> int -> int -> unit
val multiply : AFrame.t -> int -> int -> float -> unit
val add : AFrame.t -> int -> AFrame.t -> int -> int -> unit
val rms : AFrame.t -> int -> int -> float array
end