<html><head> <link rel="stylesheet" href="style.css" type="text/css"> <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="Start" href="index.html"> <link title="Index of types" rel=Appendix href="index_types.html"> <link title="Index of exceptions" rel=Appendix href="index_exceptions.html"> <link title="Index of values" rel=Appendix href="index_values.html"> <link title="Index of modules" rel=Appendix href="index_modules.html"> <link title="Speex" rel="Chapter" href="Speex.html"> <link title="Ogg_demuxer_speex_decoder" rel="Chapter" href="Ogg_demuxer_speex_decoder.html"><title>Speex</title> </head> <body> <code class="code"><span class="keyword">sig</span><br> <span class="keyword">exception</span> <span class="constructor">Invalid_frame_size</span><br> <span class="keyword">type</span> mode = <span class="constructor">Narrowband</span> <span class="keywordsign">|</span> <span class="constructor">Wideband</span> <span class="keywordsign">|</span> <span class="constructor">Ultra_wideband</span><br> <span class="keyword">type</span> control =<br> <span class="constructor">SPEEX_RESET_STATE</span><br> <span class="keywordsign">|</span> <span class="constructor">SPEEX_SET_ENH</span><br> <span class="keywordsign">|</span> <span class="constructor">SPEEX_GET_ENH</span><br> <span class="keywordsign">|</span> <span class="constructor">SPEEX_GET_FRAME_SIZE</span><br> <span class="keywordsign">|</span> <span class="constructor">SPEEX_SET_QUALITY</span><br> <span class="keywordsign">|</span> <span class="constructor">SPEEX_SET_MODE</span><br> <span class="keywordsign">|</span> <span class="constructor">SPEEX_GET_MODE</span><br> <span class="keywordsign">|</span> <span class="constructor">SPEEX_SET_LOW_MODE</span><br> <span class="keywordsign">|</span> <span class="constructor">SPEEX_GET_LOW_MODE</span><br> <span class="keywordsign">|</span> <span class="constructor">SPEEX_SET_HIGH_MODE</span><br> <span class="keywordsign">|</span> <span class="constructor">SPEEX_GET_HIGH_MODE</span><br> <span class="keywordsign">|</span> <span class="constructor">SPEEX_SET_VBR</span><br> <span class="keywordsign">|</span> <span class="constructor">SPEEX_GET_VBR</span><br> <span class="keywordsign">|</span> <span class="constructor">SPEEX_SET_VBR_QUALITY</span><br> <span class="keywordsign">|</span> <span class="constructor">SPEEX_GET_VBR_QUALITY</span><br> <span class="keywordsign">|</span> <span class="constructor">SPEEX_SET_COMPLEXITY</span><br> <span class="keywordsign">|</span> <span class="constructor">SPEEX_GET_COMPLEXITY</span><br> <span class="keywordsign">|</span> <span class="constructor">SPEEX_SET_BITRATE</span><br> <span class="keywordsign">|</span> <span class="constructor">SPEEX_GET_BITRATE</span><br> <span class="keywordsign">|</span> <span class="constructor">SPEEX_SET_SAMPLING_RATE</span><br> <span class="keywordsign">|</span> <span class="constructor">SPEEX_GET_SAMPLING_RATE</span><br> <span class="keywordsign">|</span> <span class="constructor">SPEEX_SET_VAD</span><br> <span class="keywordsign">|</span> <span class="constructor">SPEEX_GET_VAD</span><br> <span class="keywordsign">|</span> <span class="constructor">SPEEX_SET_ABR</span><br> <span class="keywordsign">|</span> <span class="constructor">SPEEX_GET_ABR</span><br> <span class="keywordsign">|</span> <span class="constructor">SPEEX_SET_DTX</span><br> <span class="keywordsign">|</span> <span class="constructor">SPEEX_GET_DTX</span><br> <span class="keywordsign">|</span> <span class="constructor">SPEEX_SET_SUBMODE_ENCODING</span><br> <span class="keywordsign">|</span> <span class="constructor">SPEEX_GET_SUBMODE_ENCODING</span><br> <span class="keywordsign">|</span> <span class="constructor">SPEEX_SET_PLC_TUNING</span><br> <span class="keywordsign">|</span> <span class="constructor">SPEEX_GET_PLC_TUNING</span><br> <span class="keywordsign">|</span> <span class="constructor">SPEEX_SET_VBR_MAX_BITRATE</span><br> <span class="keywordsign">|</span> <span class="constructor">SPEEX_GET_VBR_MAX_BITRATE</span><br> <span class="keywordsign">|</span> <span class="constructor">SPEEX_SET_HIGHPASS</span><br> <span class="keywordsign">|</span> <span class="constructor">SPEEX_GET_HIGHPASS</span><br> <span class="keywordsign">|</span> <span class="constructor">SPEEX_GET_ACTIVITY</span><br> <span class="keyword">module</span> <span class="constructor">Header</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = {<br> id : string;<br> version : string;<br> version_id : int;<br> header_size : int;<br> rate : int;<br> mode : <span class="constructor">Speex</span>.mode;<br> mode_bitstream_version : int;<br> nb_channels : int;<br> bitrate : int;<br> frame_size : int;<br> vbr : bool;<br> frames_per_packet : int;<br> extra_headers : int;<br> }<br> <span class="keyword">val</span> header_string_length : int<br> <span class="keyword">val</span> header_version_length : int<br> <span class="keyword">val</span> init :<br> ?frames_per_packet:int <span class="keywordsign">-></span><br> ?mode:<span class="constructor">Speex</span>.mode <span class="keywordsign">-></span><br> ?vbr:bool <span class="keywordsign">-></span> nb_channels:int <span class="keywordsign">-></span> rate:int <span class="keywordsign">-></span> unit <span class="keywordsign">-></span> <span class="constructor">Speex</span>.<span class="constructor">Header</span>.t<br> <span class="keyword">val</span> encode_header_packetout :<br> <span class="constructor">Speex</span>.<span class="constructor">Header</span>.t <span class="keywordsign">-></span><br> (string * string) list <span class="keywordsign">-></span> <span class="constructor">Ogg</span>.<span class="constructor">Stream</span>.packet * <span class="constructor">Ogg</span>.<span class="constructor">Stream</span>.packet<br> <span class="keyword">val</span> encode_header :<br> <span class="constructor">Speex</span>.<span class="constructor">Header</span>.t <span class="keywordsign">-></span> (string * string) list <span class="keywordsign">-></span> <span class="constructor">Ogg</span>.<span class="constructor">Stream</span>.stream <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> header_of_packet : <span class="constructor">Ogg</span>.<span class="constructor">Stream</span>.packet <span class="keywordsign">-></span> <span class="constructor">Speex</span>.<span class="constructor">Header</span>.t<br> <span class="keyword">val</span> comments_of_packet :<br> <span class="constructor">Ogg</span>.<span class="constructor">Stream</span>.packet <span class="keywordsign">-></span> string * (string * string) list<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Encoder</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t<br> <span class="keyword">val</span> init : <span class="constructor">Speex</span>.mode <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Speex</span>.<span class="constructor">Encoder</span>.t<br> <span class="keyword">val</span> get : <span class="constructor">Speex</span>.<span class="constructor">Encoder</span>.t <span class="keywordsign">-></span> <span class="constructor">Speex</span>.control <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> set : <span class="constructor">Speex</span>.<span class="constructor">Encoder</span>.t <span class="keywordsign">-></span> <span class="constructor">Speex</span>.control <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> encode_page :<br> <span class="constructor">Speex</span>.<span class="constructor">Encoder</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Ogg</span>.<span class="constructor">Stream</span>.stream <span class="keywordsign">-></span> (unit <span class="keywordsign">-></span> float array) <span class="keywordsign">-></span> <span class="constructor">Ogg</span>.<span class="constructor">Page</span>.t<br> <span class="keyword">val</span> encode_page_stereo :<br> <span class="constructor">Speex</span>.<span class="constructor">Encoder</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Ogg</span>.<span class="constructor">Stream</span>.stream <span class="keywordsign">-></span> (unit <span class="keywordsign">-></span> float array array) <span class="keywordsign">-></span> <span class="constructor">Ogg</span>.<span class="constructor">Page</span>.t<br> <span class="keyword">val</span> encode_page_int :<br> <span class="constructor">Speex</span>.<span class="constructor">Encoder</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Ogg</span>.<span class="constructor">Stream</span>.stream <span class="keywordsign">-></span> (unit <span class="keywordsign">-></span> int array) <span class="keywordsign">-></span> <span class="constructor">Ogg</span>.<span class="constructor">Page</span>.t<br> <span class="keyword">val</span> encode_page_int_stereo :<br> <span class="constructor">Speex</span>.<span class="constructor">Encoder</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Ogg</span>.<span class="constructor">Stream</span>.stream <span class="keywordsign">-></span> (unit <span class="keywordsign">-></span> int array array) <span class="keywordsign">-></span> <span class="constructor">Ogg</span>.<span class="constructor">Page</span>.t<br> <span class="keyword">val</span> eos : <span class="constructor">Speex</span>.<span class="constructor">Encoder</span>.t <span class="keywordsign">-></span> <span class="constructor">Ogg</span>.<span class="constructor">Stream</span>.stream <span class="keywordsign">-></span> unit<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Decoder</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t<br> <span class="keyword">val</span> init : <span class="constructor">Speex</span>.mode <span class="keywordsign">-></span> <span class="constructor">Speex</span>.<span class="constructor">Decoder</span>.t<br> <span class="keyword">val</span> get : <span class="constructor">Speex</span>.<span class="constructor">Decoder</span>.t <span class="keywordsign">-></span> <span class="constructor">Speex</span>.control <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> set : <span class="constructor">Speex</span>.<span class="constructor">Decoder</span>.t <span class="keywordsign">-></span> <span class="constructor">Speex</span>.control <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> decode : <span class="constructor">Speex</span>.<span class="constructor">Decoder</span>.t <span class="keywordsign">-></span> <span class="constructor">Ogg</span>.<span class="constructor">Stream</span>.stream <span class="keywordsign">-></span> float array list<br> <span class="keyword">val</span> decode_stereo :<br> <span class="constructor">Speex</span>.<span class="constructor">Decoder</span>.t <span class="keywordsign">-></span> <span class="constructor">Ogg</span>.<span class="constructor">Stream</span>.stream <span class="keywordsign">-></span> float array array list<br> <span class="keyword">val</span> decode_feed :<br> <span class="constructor">Speex</span>.<span class="constructor">Decoder</span>.t <span class="keywordsign">-></span> <span class="constructor">Ogg</span>.<span class="constructor">Stream</span>.stream <span class="keywordsign">-></span> (float array <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> decode_feed_stereo :<br> <span class="constructor">Speex</span>.<span class="constructor">Decoder</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Ogg</span>.<span class="constructor">Stream</span>.stream <span class="keywordsign">-></span> (float array array <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> decode_int : <span class="constructor">Speex</span>.<span class="constructor">Decoder</span>.t <span class="keywordsign">-></span> <span class="constructor">Ogg</span>.<span class="constructor">Stream</span>.stream <span class="keywordsign">-></span> int array list<br> <span class="keyword">val</span> decode_int_stereo :<br> <span class="constructor">Speex</span>.<span class="constructor">Decoder</span>.t <span class="keywordsign">-></span> <span class="constructor">Ogg</span>.<span class="constructor">Stream</span>.stream <span class="keywordsign">-></span> int array array list<br> <span class="keyword">val</span> decode_int_feed :<br> <span class="constructor">Speex</span>.<span class="constructor">Decoder</span>.t <span class="keywordsign">-></span> <span class="constructor">Ogg</span>.<span class="constructor">Stream</span>.stream <span class="keywordsign">-></span> (int array <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> decode_int_feed_stereo :<br> <span class="constructor">Speex</span>.<span class="constructor">Decoder</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Ogg</span>.<span class="constructor">Stream</span>.stream <span class="keywordsign">-></span> (int array array <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> unit<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Wrapper</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">module</span> <span class="constructor">Decoder</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">exception</span> <span class="constructor">Not_speex</span><br> <span class="keyword">type</span> t<br> <span class="keyword">val</span> open_sync : <span class="constructor">Ogg</span>.<span class="constructor">Sync</span>.t <span class="keywordsign">-></span> <span class="constructor">Speex</span>.<span class="constructor">Wrapper</span>.<span class="constructor">Decoder</span>.t<br> <span class="keyword">val</span> open_file : string <span class="keywordsign">-></span> <span class="constructor">Speex</span>.<span class="constructor">Wrapper</span>.<span class="constructor">Decoder</span>.t * <span class="constructor">Unix</span>.file_descr<br> <span class="keyword">val</span> open_feed : (int <span class="keywordsign">-></span> string * int) <span class="keywordsign">-></span> <span class="constructor">Speex</span>.<span class="constructor">Wrapper</span>.<span class="constructor">Decoder</span>.t<br> <span class="keyword">val</span> serial : <span class="constructor">Speex</span>.<span class="constructor">Wrapper</span>.<span class="constructor">Decoder</span>.t <span class="keywordsign">-></span> nativeint<br> <span class="keyword">val</span> comments : <span class="constructor">Speex</span>.<span class="constructor">Wrapper</span>.<span class="constructor">Decoder</span>.t <span class="keywordsign">-></span> (string * string) list<br> <span class="keyword">val</span> header : <span class="constructor">Speex</span>.<span class="constructor">Wrapper</span>.<span class="constructor">Decoder</span>.t <span class="keywordsign">-></span> <span class="constructor">Speex</span>.<span class="constructor">Header</span>.t<br> <span class="keyword">val</span> decode : <span class="constructor">Speex</span>.<span class="constructor">Wrapper</span>.<span class="constructor">Decoder</span>.t <span class="keywordsign">-></span> float array list<br> <span class="keyword">val</span> decode_stereo :<br> <span class="constructor">Speex</span>.<span class="constructor">Wrapper</span>.<span class="constructor">Decoder</span>.t <span class="keywordsign">-></span> float array array list<br> <span class="keyword">val</span> decode_feed :<br> <span class="constructor">Speex</span>.<span class="constructor">Wrapper</span>.<span class="constructor">Decoder</span>.t <span class="keywordsign">-></span> (float array <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> decode_feed_stereo :<br> <span class="constructor">Speex</span>.<span class="constructor">Wrapper</span>.<span class="constructor">Decoder</span>.t <span class="keywordsign">-></span> (float array array <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> decode_int : <span class="constructor">Speex</span>.<span class="constructor">Wrapper</span>.<span class="constructor">Decoder</span>.t <span class="keywordsign">-></span> int array list<br> <span class="keyword">val</span> decode_int_stereo :<br> <span class="constructor">Speex</span>.<span class="constructor">Wrapper</span>.<span class="constructor">Decoder</span>.t <span class="keywordsign">-></span> int array array list<br> <span class="keyword">val</span> decode_int_feed :<br> <span class="constructor">Speex</span>.<span class="constructor">Wrapper</span>.<span class="constructor">Decoder</span>.t <span class="keywordsign">-></span> (int array <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> decode_int_feed_stereo :<br> <span class="constructor">Speex</span>.<span class="constructor">Wrapper</span>.<span class="constructor">Decoder</span>.t <span class="keywordsign">-></span> (int array array <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> unit<br> <span class="keyword">end</span><br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Skeleton</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">val</span> fisbone :<br> ?start_granule:<span class="constructor">Stdlib</span>.<span class="constructor">Int64</span>.t <span class="keywordsign">-></span><br> ?headers:(string * string) list <span class="keywordsign">-></span><br> serialno:nativeint <span class="keywordsign">-></span><br> header:<span class="constructor">Speex</span>.<span class="constructor">Header</span>.t <span class="keywordsign">-></span> unit <span class="keywordsign">-></span> <span class="constructor">Ogg</span>.<span class="constructor">Stream</span>.packet<br> <span class="keyword">end</span><br> <span class="keyword">end</span></code></body></html>