1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> 3<title>FLAC: include/FLAC/stream_decoder.h Source File</title> 4<link href="doxygen.css" rel="stylesheet" type="text/css"> 5</head><body> 6<!-- Generated by Doxygen 1.4.2 --> 7<div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="globals.html">File Members</a></div> 8<div class="nav"> 9<a class="el" href="dir_000000.html">include</a> / <a class="el" href="dir_000002.html">FLAC</a></div> 10<h1>stream_decoder.h</h1><a href="stream__decoder_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">/* libFLAC - Free Lossless Audio Codec library</span> 1100002 <span class="comment"> * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson</span> 1200003 <span class="comment"> *</span> 1300004 <span class="comment"> * Redistribution and use in source and binary forms, with or without</span> 1400005 <span class="comment"> * modification, are permitted provided that the following conditions</span> 1500006 <span class="comment"> * are met:</span> 1600007 <span class="comment"> *</span> 1700008 <span class="comment"> * - Redistributions of source code must retain the above copyright</span> 1800009 <span class="comment"> * notice, this list of conditions and the following disclaimer.</span> 1900010 <span class="comment"> *</span> 2000011 <span class="comment"> * - Redistributions in binary form must reproduce the above copyright</span> 2100012 <span class="comment"> * notice, this list of conditions and the following disclaimer in the</span> 2200013 <span class="comment"> * documentation and/or other materials provided with the distribution.</span> 2300014 <span class="comment"> *</span> 2400015 <span class="comment"> * - Neither the name of the Xiph.org Foundation nor the names of its</span> 2500016 <span class="comment"> * contributors may be used to endorse or promote products derived from</span> 2600017 <span class="comment"> * this software without specific prior written permission.</span> 2700018 <span class="comment"> *</span> 2800019 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span> 2900020 <span class="comment"> * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span> 3000021 <span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span> 3100022 <span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR</span> 3200023 <span class="comment"> * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,</span> 3300024 <span class="comment"> * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,</span> 3400025 <span class="comment"> * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR</span> 3500026 <span class="comment"> * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF</span> 3600027 <span class="comment"> * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING</span> 3700028 <span class="comment"> * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS</span> 3800029 <span class="comment"> * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span> 3900030 <span class="comment"> */</span> 4000031 4100032 <span class="preprocessor">#ifndef FLAC__STREAM_DECODER_H</span> 4200033 <span class="preprocessor"></span><span class="preprocessor">#define FLAC__STREAM_DECODER_H</span> 4300034 <span class="preprocessor"></span> 4400035 <span class="preprocessor">#include <stdio.h></span> <span class="comment">/* for FILE */</span> 4500036 <span class="preprocessor">#include "<a class="code" href="export_8h.html">export.h</a>"</span> 4600037 <span class="preprocessor">#include "<a class="code" href="format_8h.html">format.h</a>"</span> 4700038 4800039 <span class="preprocessor">#ifdef __cplusplus</span> 4900040 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { 5000041 <span class="preprocessor">#endif</span> 5100042 <span class="preprocessor"></span> 5200043 53<a name="l00201"></a><a class="code" href="group__flac__stream__decoder.html#ga50">00201</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> { 5400202 5500203 <a class="code" href="group__flac__stream__decoder.html#gga50a16">FLAC__STREAM_DECODER_SEARCH_FOR_METADATA</a> = 0, 5600206 <a class="code" href="group__flac__stream__decoder.html#gga50a17">FLAC__STREAM_DECODER_READ_METADATA</a>, 5700209 <a class="code" href="group__flac__stream__decoder.html#gga50a18">FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC</a>, 5800214 <a class="code" href="group__flac__stream__decoder.html#gga50a19">FLAC__STREAM_DECODER_READ_FRAME</a>, 5900217 <a class="code" href="group__flac__stream__decoder.html#gga50a20">FLAC__STREAM_DECODER_END_OF_STREAM</a>, 6000220 <a class="code" href="group__flac__stream__decoder.html#gga50a21">FLAC__STREAM_DECODER_OGG_ERROR</a>, 6100223 <a class="code" href="group__flac__stream__decoder.html#gga50a22">FLAC__STREAM_DECODER_SEEK_ERROR</a>, 6200229 <a class="code" href="group__flac__stream__decoder.html#gga50a23">FLAC__STREAM_DECODER_ABORTED</a>, 6300232 <a class="code" href="group__flac__stream__decoder.html#gga50a24">FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR</a>, 6400237 <a class="code" href="group__flac__stream__decoder.html#gga50a25">FLAC__STREAM_DECODER_UNINITIALIZED</a> 6500243 } <a class="code" href="group__flac__stream__decoder.html#ga50">FLAC__StreamDecoderState</a>; 6600244 6700250 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__stream__decoder.html#ga0">FLAC__StreamDecoderStateString</a>[]; 6800251 6900252 70<a name="l00255"></a><a class="code" href="group__flac__stream__decoder.html#ga51">00255</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> { 7100256 7200257 <a class="code" href="group__flac__stream__decoder.html#gga51a26">FLAC__STREAM_DECODER_INIT_STATUS_OK</a> = 0, 7300260 <a class="code" href="group__flac__stream__decoder.html#gga51a27">FLAC__STREAM_DECODER_INIT_STATUS_UNSUPPORTED_CONTAINER</a>, 7400265 <a class="code" href="group__flac__stream__decoder.html#gga51a28">FLAC__STREAM_DECODER_INIT_STATUS_INVALID_CALLBACKS</a>, 7500268 <a class="code" href="group__flac__stream__decoder.html#gga51a29">FLAC__STREAM_DECODER_INIT_STATUS_MEMORY_ALLOCATION_ERROR</a>, 7600271 <a class="code" href="group__flac__stream__decoder.html#gga51a30">FLAC__STREAM_DECODER_INIT_STATUS_ERROR_OPENING_FILE</a>, 7700275 <a class="code" href="group__flac__stream__decoder.html#gga51a31">FLAC__STREAM_DECODER_INIT_STATUS_ALREADY_INITIALIZED</a> 7800281 } <a class="code" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a>; 7900282 8000288 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__stream__decoder.html#ga1">FLAC__StreamDecoderInitStatusString</a>[]; 8100289 8200290 83<a name="l00293"></a><a class="code" href="group__flac__stream__decoder.html#ga52">00293</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> { 8400294 8500295 <a class="code" href="group__flac__stream__decoder.html#gga52a32">FLAC__STREAM_DECODER_READ_STATUS_CONTINUE</a>, 8600298 <a class="code" href="group__flac__stream__decoder.html#gga52a33">FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM</a>, 8700309 <a class="code" href="group__flac__stream__decoder.html#gga52a34">FLAC__STREAM_DECODER_READ_STATUS_ABORT</a> 8800312 } <a class="code" href="group__flac__stream__decoder.html#ga52">FLAC__StreamDecoderReadStatus</a>; 8900313 9000319 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__stream__decoder.html#ga2">FLAC__StreamDecoderReadStatusString</a>[]; 9100320 9200321 93<a name="l00324"></a><a class="code" href="group__flac__stream__decoder.html#ga53">00324</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> { 9400325 9500326 <a class="code" href="group__flac__stream__decoder.html#gga53a35">FLAC__STREAM_DECODER_SEEK_STATUS_OK</a>, 9600329 <a class="code" href="group__flac__stream__decoder.html#gga53a36">FLAC__STREAM_DECODER_SEEK_STATUS_ERROR</a>, 9700332 <a class="code" href="group__flac__stream__decoder.html#gga53a37">FLAC__STREAM_DECODER_SEEK_STATUS_UNSUPPORTED</a> 9800335 } <a class="code" href="group__flac__stream__decoder.html#ga53">FLAC__StreamDecoderSeekStatus</a>; 9900336 10000342 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__stream__decoder.html#ga3">FLAC__StreamDecoderSeekStatusString</a>[]; 10100343 10200344 103<a name="l00347"></a><a class="code" href="group__flac__stream__decoder.html#ga54">00347</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> { 10400348 10500349 <a class="code" href="group__flac__stream__decoder.html#gga54a38">FLAC__STREAM_DECODER_TELL_STATUS_OK</a>, 10600352 <a class="code" href="group__flac__stream__decoder.html#gga54a39">FLAC__STREAM_DECODER_TELL_STATUS_ERROR</a>, 10700355 <a class="code" href="group__flac__stream__decoder.html#gga54a40">FLAC__STREAM_DECODER_TELL_STATUS_UNSUPPORTED</a> 10800358 } <a class="code" href="group__flac__stream__decoder.html#ga54">FLAC__StreamDecoderTellStatus</a>; 10900359 11000365 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__stream__decoder.html#ga4">FLAC__StreamDecoderTellStatusString</a>[]; 11100366 11200367 113<a name="l00370"></a><a class="code" href="group__flac__stream__decoder.html#ga55">00370</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> { 11400371 11500372 <a class="code" href="group__flac__stream__decoder.html#gga55a41">FLAC__STREAM_DECODER_LENGTH_STATUS_OK</a>, 11600375 <a class="code" href="group__flac__stream__decoder.html#gga55a42">FLAC__STREAM_DECODER_LENGTH_STATUS_ERROR</a>, 11700378 <a class="code" href="group__flac__stream__decoder.html#gga55a43">FLAC__STREAM_DECODER_LENGTH_STATUS_UNSUPPORTED</a> 11800381 } <a class="code" href="group__flac__stream__decoder.html#ga55">FLAC__StreamDecoderLengthStatus</a>; 11900382 12000388 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__stream__decoder.html#ga5">FLAC__StreamDecoderLengthStatusString</a>[]; 12100389 12200390 123<a name="l00393"></a><a class="code" href="group__flac__stream__decoder.html#ga56">00393</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> { 12400394 12500395 <a class="code" href="group__flac__stream__decoder.html#gga56a44">FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE</a>, 12600398 <a class="code" href="group__flac__stream__decoder.html#gga56a45">FLAC__STREAM_DECODER_WRITE_STATUS_ABORT</a> 12700401 } <a class="code" href="group__flac__stream__decoder.html#ga56">FLAC__StreamDecoderWriteStatus</a>; 12800402 12900408 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__stream__decoder.html#ga6">FLAC__StreamDecoderWriteStatusString</a>[]; 13000409 13100410 132<a name="l00426"></a><a class="code" href="group__flac__stream__decoder.html#ga57">00426</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> { 13300427 13400428 <a class="code" href="group__flac__stream__decoder.html#gga57a46">FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC</a>, 13500431 <a class="code" href="group__flac__stream__decoder.html#gga57a47">FLAC__STREAM_DECODER_ERROR_STATUS_BAD_HEADER</a>, 13600434 <a class="code" href="group__flac__stream__decoder.html#gga57a48">FLAC__STREAM_DECODER_ERROR_STATUS_FRAME_CRC_MISMATCH</a>, 13700437 <a class="code" href="group__flac__stream__decoder.html#gga57a49">FLAC__STREAM_DECODER_ERROR_STATUS_UNPARSEABLE_STREAM</a> 13800440 } <a class="code" href="group__flac__stream__decoder.html#ga57">FLAC__StreamDecoderErrorStatus</a>; 13900441 14000447 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__stream__decoder.html#ga7">FLAC__StreamDecoderErrorStatusString</a>[]; 14100448 14200449 14300450 <span class="comment">/***********************************************************************</span> 14400451 <span class="comment"> *</span> 14500452 <span class="comment"> * class FLAC__StreamDecoder</span> 14600453 <span class="comment"> *</span> 14700454 <span class="comment"> ***********************************************************************/</span> 14800455 14900456 <span class="keyword">struct </span>FLAC__StreamDecoderProtected; 15000457 <span class="keyword">struct </span>FLAC__StreamDecoderPrivate; 151<a name="l00462"></a><a class="code" href="structFLAC____StreamDecoder.html">00462</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{ 15200463 <span class="keyword">struct </span>FLAC__StreamDecoderProtected *protected_; <span class="comment">/* avoid the C++ keyword 'protected' */</span> 15300464 <span class="keyword">struct </span>FLAC__StreamDecoderPrivate *private_; <span class="comment">/* avoid the C++ keyword 'private' */</span> 15400465 } <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; 15500466 156<a name="l00516"></a><a class="code" href="group__flac__stream__decoder.html#ga8">00516</a> <span class="keyword">typedef</span> <a class="code" href="group__flac__stream__decoder.html#ga52">FLAC__StreamDecoderReadStatus</a> (*<a class="code" href="group__flac__stream__decoder.html#ga8">FLAC__StreamDecoderReadCallback</a>)(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__byte buffer[], size_t *bytes, <span class="keywordtype">void</span> *client_data); 15700517 158<a name="l00551"></a><a class="code" href="group__flac__stream__decoder.html#ga9">00551</a> <span class="keyword">typedef</span> <a class="code" href="group__flac__stream__decoder.html#ga53">FLAC__StreamDecoderSeekStatus</a> (*<a class="code" href="group__flac__stream__decoder.html#ga9">FLAC__StreamDecoderSeekCallback</a>)(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 absolute_byte_offset, <span class="keywordtype">void</span> *client_data); 15900552 160<a name="l00589"></a><a class="code" href="group__flac__stream__decoder.html#ga10">00589</a> <span class="keyword">typedef</span> <a class="code" href="group__flac__stream__decoder.html#ga54">FLAC__StreamDecoderTellStatus</a> (*<a class="code" href="group__flac__stream__decoder.html#ga10">FLAC__StreamDecoderTellCallback</a>)(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 *absolute_byte_offset, <span class="keywordtype">void</span> *client_data); 16100590 162<a name="l00627"></a><a class="code" href="group__flac__stream__decoder.html#ga11">00627</a> <span class="keyword">typedef</span> <a class="code" href="group__flac__stream__decoder.html#ga55">FLAC__StreamDecoderLengthStatus</a> (*<a class="code" href="group__flac__stream__decoder.html#ga11">FLAC__StreamDecoderLengthCallback</a>)(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 *stream_length, <span class="keywordtype">void</span> *client_data); 16300628 164<a name="l00654"></a><a class="code" href="group__flac__stream__decoder.html#ga12">00654</a> <span class="keyword">typedef</span> FLAC__bool (*<a class="code" href="group__flac__stream__decoder.html#ga12">FLAC__StreamDecoderEofCallback</a>)(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <span class="keywordtype">void</span> *client_data); 16500655 166<a name="l00682"></a><a class="code" href="group__flac__stream__decoder.html#ga13">00682</a> <span class="keyword">typedef</span> <a class="code" href="group__flac__stream__decoder.html#ga56">FLAC__StreamDecoderWriteStatus</a> (*<a class="code" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a>)(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <span class="keyword">const</span> <a class="code" href="structFLAC____Frame.html">FLAC__Frame</a> *frame, <span class="keyword">const</span> FLAC__int32 * <span class="keyword">const</span> buffer[], <span class="keywordtype">void</span> *client_data); 16700683 168<a name="l00709"></a><a class="code" href="group__flac__stream__decoder.html#ga14">00709</a> <span class="keyword">typedef</span> void (*<a class="code" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a>)(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <span class="keyword">const</span> <a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *metadata, <span class="keywordtype">void</span> *client_data); 16900710 170<a name="l00726"></a><a class="code" href="group__flac__stream__decoder.html#ga15">00726</a> <span class="keyword">typedef</span> void (*<a class="code" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a>)(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__StreamDecoderErrorStatus status, <span class="keywordtype">void</span> *client_data); 17100727 17200728 17300729 <span class="comment">/***********************************************************************</span> 17400730 <span class="comment"> *</span> 17500731 <span class="comment"> * Class constructor/destructor</span> 17600732 <span class="comment"> *</span> 17700733 <span class="comment"> ***********************************************************************/</span> 17800734 17900742 FLAC_API <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *<a class="code" href="group__flac__stream__decoder.html#ga16">FLAC__stream_decoder_new</a>(<span class="keywordtype">void</span>); 18000743 18100750 FLAC_API <span class="keywordtype">void</span> <a class="code" href="group__flac__stream__decoder.html#ga17">FLAC__stream_decoder_delete</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder); 18200751 18300752 18400753 <span class="comment">/***********************************************************************</span> 18500754 <span class="comment"> *</span> 18600755 <span class="comment"> * Public class method prototypes</span> 18700756 <span class="comment"> *</span> 18800757 <span class="comment"> ***********************************************************************/</span> 18900758 19000775 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga18">FLAC__stream_decoder_set_ogg_serial_number</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <span class="keywordtype">long</span> serial_number); 19100776 19200797 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga19">FLAC__stream_decoder_set_md5_checking</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__bool value); 19300798 19400811 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga20">FLAC__stream_decoder_set_metadata_respond</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <a class="code" href="group__flac__format.html#ga113">FLAC__MetadataType</a> type); 19500812 19600826 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga21">FLAC__stream_decoder_set_metadata_respond_application</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <span class="keyword">const</span> FLAC__byte <span class="keywordtype">id</span>[4]); 19700827 19800838 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga22">FLAC__stream_decoder_set_metadata_respond_all</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder); 19900839 20000852 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga23">FLAC__stream_decoder_set_metadata_ignore</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <a class="code" href="group__flac__format.html#ga113">FLAC__MetadataType</a> type); 20100853 20200867 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga24">FLAC__stream_decoder_set_metadata_ignore_application</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <span class="keyword">const</span> FLAC__byte <span class="keywordtype">id</span>[4]); 20300868 20400879 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga25">FLAC__stream_decoder_set_metadata_ignore_all</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder); 20500880 20600889 FLAC_API FLAC__StreamDecoderState <a class="code" href="group__flac__stream__decoder.html#ga26">FLAC__stream_decoder_get_state</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder); 20700890 20800899 FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="group__flac__stream__decoder.html#ga27">FLAC__stream_decoder_get_resolved_state_string</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder); 20900900 21000913 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga28">FLAC__stream_decoder_get_md5_checking</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder); 21100914 21200925 FLAC_API FLAC__uint64 <a class="code" href="group__flac__stream__decoder.html#ga29">FLAC__stream_decoder_get_total_samples</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder); 21300926 21400937 FLAC_API <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__stream__decoder.html#ga30">FLAC__stream_decoder_get_channels</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder); 21500938 21600949 FLAC_API <a class="code" href="group__flac__format.html#ga111">FLAC__ChannelAssignment</a> <a class="code" href="group__flac__stream__decoder.html#ga31">FLAC__stream_decoder_get_channel_assignment</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder); 21700950 21800961 FLAC_API <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__stream__decoder.html#ga32">FLAC__stream_decoder_get_bits_per_sample</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder); 21900962 22000973 FLAC_API <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__stream__decoder.html#ga33">FLAC__stream_decoder_get_sample_rate</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder); 22100974 22200985 FLAC_API <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__stream__decoder.html#ga34">FLAC__stream_decoder_get_blocksize</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder); 22300986 22401006 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga35">FLAC__stream_decoder_get_decode_position</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 *position); 22501007 22601072 FLAC_API FLAC__StreamDecoderInitStatus <a class="code" href="group__flac__stream__decoder.html#ga36">FLAC__stream_decoder_init_stream</a>( 22701073 <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, 22801074 <a class="code" href="group__flac__stream__decoder.html#ga8">FLAC__StreamDecoderReadCallback</a> read_callback, 22901075 <a class="code" href="group__flac__stream__decoder.html#ga9">FLAC__StreamDecoderSeekCallback</a> seek_callback, 23001076 <a class="code" href="group__flac__stream__decoder.html#ga10">FLAC__StreamDecoderTellCallback</a> tell_callback, 23101077 <a class="code" href="group__flac__stream__decoder.html#ga11">FLAC__StreamDecoderLengthCallback</a> length_callback, 23201078 <a class="code" href="group__flac__stream__decoder.html#ga12">FLAC__StreamDecoderEofCallback</a> eof_callback, 23301079 <a class="code" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a> write_callback, 23401080 <a class="code" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a> metadata_callback, 23501081 <a class="code" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a> error_callback, 23601082 <span class="keywordtype">void</span> *client_data 23701083 ); 23801084 23901153 FLAC_API FLAC__StreamDecoderInitStatus <a class="code" href="group__flac__stream__decoder.html#ga37">FLAC__stream_decoder_init_ogg_stream</a>( 24001154 <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, 24101155 <a class="code" href="group__flac__stream__decoder.html#ga8">FLAC__StreamDecoderReadCallback</a> read_callback, 24201156 <a class="code" href="group__flac__stream__decoder.html#ga9">FLAC__StreamDecoderSeekCallback</a> seek_callback, 24301157 <a class="code" href="group__flac__stream__decoder.html#ga10">FLAC__StreamDecoderTellCallback</a> tell_callback, 24401158 <a class="code" href="group__flac__stream__decoder.html#ga11">FLAC__StreamDecoderLengthCallback</a> length_callback, 24501159 <a class="code" href="group__flac__stream__decoder.html#ga12">FLAC__StreamDecoderEofCallback</a> eof_callback, 24601160 <a class="code" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a> write_callback, 24701161 <a class="code" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a> metadata_callback, 24801162 <a class="code" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a> error_callback, 24901163 <span class="keywordtype">void</span> *client_data 25001164 ); 25101165 25201203 FLAC_API FLAC__StreamDecoderInitStatus <a class="code" href="group__flac__stream__decoder.html#ga38">FLAC__stream_decoder_init_FILE</a>( 25301204 <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, 25401205 FILE *file, 25501206 <a class="code" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a> write_callback, 25601207 <a class="code" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a> metadata_callback, 25701208 <a class="code" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a> error_callback, 25801209 <span class="keywordtype">void</span> *client_data 25901210 ); 26001211 26101253 FLAC_API FLAC__StreamDecoderInitStatus <a class="code" href="group__flac__stream__decoder.html#ga39">FLAC__stream_decoder_init_ogg_FILE</a>( 26201254 <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, 26301255 FILE *file, 26401256 <a class="code" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a> write_callback, 26501257 <a class="code" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a> metadata_callback, 26601258 <a class="code" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a> error_callback, 26701259 <span class="keywordtype">void</span> *client_data 26801260 ); 26901261 27001295 FLAC_API FLAC__StreamDecoderInitStatus <a class="code" href="group__flac__stream__decoder.html#ga40">FLAC__stream_decoder_init_file</a>( 27101296 <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, 27201297 <span class="keyword">const</span> <span class="keywordtype">char</span> *filename, 27301298 <a class="code" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a> write_callback, 27401299 <a class="code" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a> metadata_callback, 27501300 <a class="code" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a> error_callback, 27601301 <span class="keywordtype">void</span> *client_data 27701302 ); 27801303 27901341 FLAC_API FLAC__StreamDecoderInitStatus <a class="code" href="group__flac__stream__decoder.html#ga41">FLAC__stream_decoder_init_ogg_file</a>( 28001342 <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, 28101343 <span class="keyword">const</span> <span class="keywordtype">char</span> *filename, 28201344 <a class="code" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a> write_callback, 28301345 <a class="code" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a> metadata_callback, 28401346 <a class="code" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a> error_callback, 28501347 <span class="keywordtype">void</span> *client_data 28601348 ); 28701349 28801369 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga42">FLAC__stream_decoder_finish</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder); 28901370 29001384 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga43">FLAC__stream_decoder_flush</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder); 29101385 29201417 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga44">FLAC__stream_decoder_reset</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder); 29301418 29401450 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga45">FLAC__stream_decoder_process_single</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder); 29501451 29601471 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga46">FLAC__stream_decoder_process_until_end_of_metadata</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder); 29701472 29801492 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga47">FLAC__stream_decoder_process_until_end_of_stream</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder); 29901493 30001533 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga48">FLAC__stream_decoder_skip_single_frame</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder); 30101534 30201551 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga49">FLAC__stream_decoder_seek_absolute</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 sample); 30301552 30401553 <span class="comment">/* \} */</span> 30501554 30601555 <span class="preprocessor">#ifdef __cplusplus</span> 30701556 <span class="preprocessor"></span>} 30801557 <span class="preprocessor">#endif</span> 30901558 <span class="preprocessor"></span> 31001559 <span class="preprocessor">#endif</span> 311</pre></div> 312<hr size="1"> 313<div class="copyright"> 314 <!-- @@@ oh so hacky --> 315 <table> 316 <tr> 317 <td align="left"> 318 Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson 319 </td> 320 <td width="1%" align="right"> 321 <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a> 322 </td> 323 </tr> 324 </table> 325</div> 326<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson --> 327<!-- Permission is granted to copy, distribute and/or modify this document --> 328<!-- under the terms of the GNU Free Documentation License, Version 1.1 --> 329<!-- or any later version published by the Free Software Foundation; --> 330<!-- with no invariant sections. --> 331<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html --> 332</body> 333</html> 334