sig
  exception Error of int
  val string_of_error : int -> string
  type sample_format =
      Sample_format_s16le
    | Sample_format_s16be
    | Sample_format_float32le
    | Sample_format_float32be
  type sample = {
    sample_format : Pulseaudio.sample_format;
    sample_rate : int;
    sample_chans : int;
  }
  type map
  type dir = Dir_nodirection | Dir_playback | Dir_record | Dir_upload
  module Simple :
    sig
      type t
      val create :
        ?server:string ->
        client_name:string ->
        dir:Pulseaudio.dir ->
        ?dev:string ->
        stream_name:string ->
        sample:Pulseaudio.sample ->
        ?map:Pulseaudio.map -> unit -> Pulseaudio.Simple.t
      val free : Pulseaudio.Simple.t -> unit
      val read :
        Pulseaudio.Simple.t -> float array array -> int -> int -> unit
      val write :
        Pulseaudio.Simple.t -> float array array -> int -> int -> unit
      val drain : Pulseaudio.Simple.t -> unit
      val flush : Pulseaudio.Simple.t -> unit
      val latency : Pulseaudio.Simple.t -> int
    end
end