sig
  type t
  val create : int -> int -> Audio.Ringbuffer.t
  val channels : Audio.Ringbuffer.t -> int
  val read_space : Audio.Ringbuffer.t -> int
  val write_space : Audio.Ringbuffer.t -> int
  val read_advance : Audio.Ringbuffer.t -> int -> unit
  val write_advance : Audio.Ringbuffer.t -> int -> unit
  val peek : Audio.Ringbuffer.t -> Audio.buffer -> int -> int -> unit
  val read : Audio.Ringbuffer.t -> Audio.buffer -> int -> int -> unit
  val write : Audio.Ringbuffer.t -> Audio.buffer -> int -> int -> unit
  val transmit :
    Audio.Ringbuffer.t -> (Audio.buffer -> int -> int -> int) -> int
end