<html><head> <link rel="stylesheet" href="style.css" type="text/css"> <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type"> <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="Flac" rel="Chapter" href="Flac.html"> <link title="Ogg_flac" rel="Chapter" href="Ogg_flac.html"> <link title="Ogg_demuxer_flac_decoder" rel="Chapter" href="Ogg_demuxer_flac_decoder.html"><title>Flac</title> </head> <body> <code class="code"><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">type</span> <span class="keywordsign">'</span>a dec<br> <span class="keyword">type</span> <span class="keywordsign">'</span>a t<br> <span class="keyword">type</span> write = float array array <span class="keywordsign">-></span> unit<br> <span class="keyword">type</span> read = int <span class="keywordsign">-></span> string * int<br> <span class="keyword">type</span> <span class="keywordsign">'</span>a callbacks<br> <span class="keyword">type</span> generic<br> <span class="keyword">type</span> info = {<br> sample_rate : int;<br> channels : int;<br> bits_per_sample : int;<br> total_samples : int64;<br> md5sum : string;<br> }<br> <span class="keyword">type</span> comments = string * (string * string) list<br> <span class="keyword">type</span> state =<br> [ <span class="keywordsign">`</span><span class="constructor">Aborted</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">End_of_stream</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Memory_allocation_error</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Ogg_error</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Read_frame</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Read_metadata</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Search_for_frame_sync</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Search_for_metadata</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Seek_error</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Uninitialized</span> ]<br> <span class="keyword">exception</span> <span class="constructor">Lost_sync</span><br> <span class="keyword">exception</span> <span class="constructor">Bad_header</span><br> <span class="keyword">exception</span> <span class="constructor">Frame_crc_mismatch</span><br> <span class="keyword">exception</span> <span class="constructor">Unparseable_stream</span><br> <span class="keyword">exception</span> <span class="constructor">Not_flac</span><br> <span class="keyword">val</span> get_callbacks :<br> ?seek:(int64 <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> ?tell:(unit <span class="keywordsign">-></span> int64) <span class="keywordsign">-></span><br> ?length:(unit <span class="keywordsign">-></span> int64) <span class="keywordsign">-></span><br> ?eof:(unit <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> <span class="constructor">Flac</span>.<span class="constructor">Decoder</span>.read <span class="keywordsign">-></span><br> <span class="constructor">Flac</span>.<span class="constructor">Decoder</span>.write <span class="keywordsign">-></span> <span class="constructor">Flac</span>.<span class="constructor">Decoder</span>.generic <span class="constructor">Flac</span>.<span class="constructor">Decoder</span>.callbacks<br> <span class="keyword">val</span> create : <span class="keywordsign">'</span>a <span class="constructor">Flac</span>.<span class="constructor">Decoder</span>.callbacks <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Flac</span>.<span class="constructor">Decoder</span>.dec<br> <span class="keyword">val</span> init :<br> <span class="keywordsign">'</span>a <span class="constructor">Flac</span>.<span class="constructor">Decoder</span>.dec <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="constructor">Flac</span>.<span class="constructor">Decoder</span>.callbacks <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="constructor">Flac</span>.<span class="constructor">Decoder</span>.t * <span class="constructor">Flac</span>.<span class="constructor">Decoder</span>.info * <span class="constructor">Flac</span>.<span class="constructor">Decoder</span>.comments option<br> <span class="keyword">val</span> process : <span class="keywordsign">'</span>a <span class="constructor">Flac</span>.<span class="constructor">Decoder</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Flac</span>.<span class="constructor">Decoder</span>.callbacks <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> seek :<br> <span class="keywordsign">'</span>a <span class="constructor">Flac</span>.<span class="constructor">Decoder</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Flac</span>.<span class="constructor">Decoder</span>.callbacks <span class="keywordsign">-></span> <span class="constructor">Int64</span>.t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> flush : <span class="keywordsign">'</span>a <span class="constructor">Flac</span>.<span class="constructor">Decoder</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Flac</span>.<span class="constructor">Decoder</span>.callbacks <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> reset : <span class="keywordsign">'</span>a <span class="constructor">Flac</span>.<span class="constructor">Decoder</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Flac</span>.<span class="constructor">Decoder</span>.callbacks <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> state :<br> <span class="keywordsign">'</span>a <span class="constructor">Flac</span>.<span class="constructor">Decoder</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Flac</span>.<span class="constructor">Decoder</span>.callbacks <span class="keywordsign">-></span> <span class="constructor">Flac</span>.<span class="constructor">Decoder</span>.state<br> <span class="keyword">val</span> to_s16le : float array array <span class="keywordsign">-></span> string<br> <span class="keyword">module</span> <span class="constructor">File</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> file<br> <span class="keyword">type</span> handle = {<br> fd : <span class="constructor">Unix</span>.file_descr;<br> dec : <span class="constructor">Flac</span>.<span class="constructor">Decoder</span>.<span class="constructor">File</span>.file <span class="constructor">Flac</span>.<span class="constructor">Decoder</span>.t;<br> callbacks : <span class="constructor">Flac</span>.<span class="constructor">Decoder</span>.<span class="constructor">File</span>.file <span class="constructor">Flac</span>.<span class="constructor">Decoder</span>.callbacks;<br> info : <span class="constructor">Flac</span>.<span class="constructor">Decoder</span>.info;<br> comments : (string * (string * string) list) option;<br> }<br> <span class="keyword">val</span> create_from_fd :<br> <span class="constructor">Flac</span>.<span class="constructor">Decoder</span>.write <span class="keywordsign">-></span> <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> <span class="constructor">Flac</span>.<span class="constructor">Decoder</span>.<span class="constructor">File</span>.handle<br> <span class="keyword">val</span> create :<br> <span class="constructor">Flac</span>.<span class="constructor">Decoder</span>.write <span class="keywordsign">-></span> string <span class="keywordsign">-></span> <span class="constructor">Flac</span>.<span class="constructor">Decoder</span>.<span class="constructor">File</span>.handle<br> <span class="keyword">end</span><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> <span class="keywordsign">'</span>a t<br> <span class="keyword">type</span> write = string <span class="keywordsign">-></span> unit<br> <span class="keyword">type</span> <span class="keywordsign">'</span>a callbacks<br> <span class="keyword">type</span> generic<br> <span class="keyword">type</span> params = {<br> channels : int;<br> bits_per_sample : int;<br> sample_rate : int;<br> compression_level : int option;<br> total_samples : int64 option;<br> }<br> <span class="keyword">type</span> comments = (string * string) list<br> <span class="keyword">exception</span> <span class="constructor">Invalid_data</span><br> <span class="keyword">val</span> get_callbacks :<br> ?seek:(int64 <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> ?tell:(unit <span class="keywordsign">-></span> int64) <span class="keywordsign">-></span><br> <span class="constructor">Flac</span>.<span class="constructor">Encoder</span>.write <span class="keywordsign">-></span> <span class="constructor">Flac</span>.<span class="constructor">Encoder</span>.generic <span class="constructor">Flac</span>.<span class="constructor">Encoder</span>.callbacks<br> <span class="keyword">val</span> create :<br> ?comments:<span class="constructor">Flac</span>.<span class="constructor">Encoder</span>.comments <span class="keywordsign">-></span><br> <span class="constructor">Flac</span>.<span class="constructor">Encoder</span>.params <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Flac</span>.<span class="constructor">Encoder</span>.callbacks <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Flac</span>.<span class="constructor">Encoder</span>.t<br> <span class="keyword">val</span> process :<br> <span class="keywordsign">'</span>a <span class="constructor">Flac</span>.<span class="constructor">Encoder</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="constructor">Flac</span>.<span class="constructor">Encoder</span>.callbacks <span class="keywordsign">-></span> float array array <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> finish : <span class="keywordsign">'</span>a <span class="constructor">Flac</span>.<span class="constructor">Encoder</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Flac</span>.<span class="constructor">Encoder</span>.callbacks <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> from_s16le : string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> float array array<br> <span class="keyword">module</span> <span class="constructor">File</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> file<br> <span class="keyword">type</span> handle = {<br> fd : <span class="constructor">Unix</span>.file_descr;<br> enc : <span class="constructor">Flac</span>.<span class="constructor">Encoder</span>.<span class="constructor">File</span>.file <span class="constructor">Flac</span>.<span class="constructor">Encoder</span>.t;<br> callbacks : <span class="constructor">Flac</span>.<span class="constructor">Encoder</span>.<span class="constructor">File</span>.file <span class="constructor">Flac</span>.<span class="constructor">Encoder</span>.callbacks;<br> }<br> <span class="keyword">val</span> create_from_fd :<br> ?comments:<span class="constructor">Flac</span>.<span class="constructor">Encoder</span>.comments <span class="keywordsign">-></span><br> <span class="constructor">Flac</span>.<span class="constructor">Encoder</span>.params <span class="keywordsign">-></span><br> <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> <span class="constructor">Flac</span>.<span class="constructor">Encoder</span>.<span class="constructor">File</span>.handle<br> <span class="keyword">val</span> create :<br> ?comments:<span class="constructor">Flac</span>.<span class="constructor">Encoder</span>.comments <span class="keywordsign">-></span><br> <span class="constructor">Flac</span>.<span class="constructor">Encoder</span>.params <span class="keywordsign">-></span> string <span class="keywordsign">-></span> <span class="constructor">Flac</span>.<span class="constructor">Encoder</span>.<span class="constructor">File</span>.handle<br> <span class="keyword">end</span><br> <span class="keyword">end</span><br> <span class="keyword">exception</span> <span class="constructor">Internal</span><br> <span class="keyword">end</span></code></body></html>