sig
  type t = {
    id : string;
    version : string;
    version_id : int;
    header_size : int;
    rate : int;
    mode : Speex.mode;
    mode_bitstream_version : int;
    nb_channels : int;
    bitrate : int;
    frame_size : int;
    vbr : bool;
    frames_per_packet : int;
    extra_headers : int;
  }
  val header_string_length : int
  val header_version_length : int
  val init :
    ?frames_per_packet:int ->
    ?mode:Speex.mode ->
    ?vbr:bool -> nb_channels:int -> rate:int -> unit -> Speex.Header.t
  val encode_header_packetout :
    Speex.Header.t ->
    (string * string) list -> Ogg.Stream.packet * Ogg.Stream.packet
  val encode_header :
    Speex.Header.t -> (string * string) list -> Ogg.Stream.t -> unit
  val header_of_packet : Ogg.Stream.packet -> Speex.Header.t
  val comments_of_packet :
    Ogg.Stream.packet -> string * (string * string) list
end