sig
  class type t =
    object
      method close : unit
      method read : Audio.buffer -> int -> int -> unit
      method write : Audio.buffer -> int -> int -> unit
    end
  class virtual bufferized :
    int ->
    min_duration:int ->
    fill_duration:int ->
    max_duration:int ->
    drop_duration:int ->
    object
      method virtual io_read : Audio.buffer -> int -> int -> unit
      method virtual io_write : Audio.buffer -> int -> int -> unit
      method read : Audio.buffer -> int -> int -> unit
      method write : Audio.buffer -> int -> int -> unit
    end
end