Module Speex.Header

module Header: sig .. end

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;
}

Type for speex header.

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 -> t

Initiate a new speex header.

val encode_header_packetout : t ->
(string * string) list -> Ogg.Stream.packet * Ogg.Stream.packet

encode_header_packetout header metadata: output ogg packets containing the header. First packet contains speex audio codec settings, second the metadata.

val encode_header : t -> (string * string) list -> Ogg.Stream.stream -> unit

Output ogg packets containing the header and put them into the given stream.

val header_of_packet : Ogg.Stream.packet -> t

Decode the speex header contained in the given packet.

Raises Invalid_argument if the packet does not contain speex audio codec data.

val comments_of_packet : Ogg.Stream.packet -> string * (string * string) list

Decode the metadata contained in the given packet.

Raises Invalid_argument if the packet does not contain speex metadata.