Chris@1: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> Chris@1: <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> Chris@1: <title>FLAC: include/FLAC/stream_encoder.h Source File</title> Chris@1: <link href="doxygen.css" rel="stylesheet" type="text/css"> Chris@1: </head><body> Chris@1: <!-- Generated by Doxygen 1.4.2 --> Chris@1: <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> Chris@1: <div class="nav"> Chris@1: <a class="el" href="dir_000000.html">include</a> / <a class="el" href="dir_000002.html">FLAC</a></div> Chris@1: <h1>stream_encoder.h</h1><a href="stream__encoder_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> Chris@1: 00002 <span class="comment"> * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson</span> Chris@1: 00003 <span class="comment"> *</span> Chris@1: 00004 <span class="comment"> * Redistribution and use in source and binary forms, with or without</span> Chris@1: 00005 <span class="comment"> * modification, are permitted provided that the following conditions</span> Chris@1: 00006 <span class="comment"> * are met:</span> Chris@1: 00007 <span class="comment"> *</span> Chris@1: 00008 <span class="comment"> * - Redistributions of source code must retain the above copyright</span> Chris@1: 00009 <span class="comment"> * notice, this list of conditions and the following disclaimer.</span> Chris@1: 00010 <span class="comment"> *</span> Chris@1: 00011 <span class="comment"> * - Redistributions in binary form must reproduce the above copyright</span> Chris@1: 00012 <span class="comment"> * notice, this list of conditions and the following disclaimer in the</span> Chris@1: 00013 <span class="comment"> * documentation and/or other materials provided with the distribution.</span> Chris@1: 00014 <span class="comment"> *</span> Chris@1: 00015 <span class="comment"> * - Neither the name of the Xiph.org Foundation nor the names of its</span> Chris@1: 00016 <span class="comment"> * contributors may be used to endorse or promote products derived from</span> Chris@1: 00017 <span class="comment"> * this software without specific prior written permission.</span> Chris@1: 00018 <span class="comment"> *</span> Chris@1: 00019 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span> Chris@1: 00020 <span class="comment"> * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span> Chris@1: 00021 <span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span> Chris@1: 00022 <span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR</span> Chris@1: 00023 <span class="comment"> * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,</span> Chris@1: 00024 <span class="comment"> * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,</span> Chris@1: 00025 <span class="comment"> * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR</span> Chris@1: 00026 <span class="comment"> * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF</span> Chris@1: 00027 <span class="comment"> * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING</span> Chris@1: 00028 <span class="comment"> * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS</span> Chris@1: 00029 <span class="comment"> * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span> Chris@1: 00030 <span class="comment"> */</span> Chris@1: 00031 Chris@1: 00032 <span class="preprocessor">#ifndef FLAC__STREAM_ENCODER_H</span> Chris@1: 00033 <span class="preprocessor"></span><span class="preprocessor">#define FLAC__STREAM_ENCODER_H</span> Chris@1: 00034 <span class="preprocessor"></span> Chris@1: 00035 <span class="preprocessor">#include <stdio.h></span> <span class="comment">/* for FILE */</span> Chris@1: 00036 <span class="preprocessor">#include "<a class="code" href="export_8h.html">export.h</a>"</span> Chris@1: 00037 <span class="preprocessor">#include "<a class="code" href="format_8h.html">format.h</a>"</span> Chris@1: 00038 <span class="preprocessor">#include "<a class="code" href="stream__decoder_8h.html">stream_decoder.h</a>"</span> Chris@1: 00039 Chris@1: 00040 <span class="preprocessor">#ifdef __cplusplus</span> Chris@1: 00041 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { Chris@1: 00042 <span class="preprocessor">#endif</span> Chris@1: 00043 <span class="preprocessor"></span> Chris@1: 00044 Chris@1: <a name="l00240"></a><a class="code" href="group__flac__stream__encoder.html#ga65">00240</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> { Chris@1: 00241 Chris@1: 00242 <a class="code" href="group__flac__stream__encoder.html#gga65a12">FLAC__STREAM_ENCODER_OK</a> = 0, Chris@1: 00245 <a class="code" href="group__flac__stream__encoder.html#gga65a13">FLAC__STREAM_ENCODER_UNINITIALIZED</a>, Chris@1: 00251 <a class="code" href="group__flac__stream__encoder.html#gga65a14">FLAC__STREAM_ENCODER_OGG_ERROR</a>, Chris@1: 00254 <a class="code" href="group__flac__stream__encoder.html#gga65a15">FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR</a>, Chris@1: 00259 <a class="code" href="group__flac__stream__encoder.html#gga65a16">FLAC__STREAM_ENCODER_VERIFY_MISMATCH_IN_AUDIO_DATA</a>, Chris@1: 00264 <a class="code" href="group__flac__stream__encoder.html#gga65a17">FLAC__STREAM_ENCODER_CLIENT_ERROR</a>, Chris@1: 00267 <a class="code" href="group__flac__stream__encoder.html#gga65a18">FLAC__STREAM_ENCODER_IO_ERROR</a>, Chris@1: 00272 <a class="code" href="group__flac__stream__encoder.html#gga65a19">FLAC__STREAM_ENCODER_FRAMING_ERROR</a>, Chris@1: 00277 <a class="code" href="group__flac__stream__encoder.html#gga65a20">FLAC__STREAM_ENCODER_MEMORY_ALLOCATION_ERROR</a> Chris@1: 00280 } <a class="code" href="group__flac__stream__encoder.html#ga65">FLAC__StreamEncoderState</a>; Chris@1: 00281 Chris@1: 00287 <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__encoder.html#ga0">FLAC__StreamEncoderStateString</a>[]; Chris@1: 00288 Chris@1: 00289 Chris@1: <a name="l00292"></a><a class="code" href="group__flac__stream__encoder.html#ga66">00292</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> { Chris@1: 00293 Chris@1: 00294 <a class="code" href="group__flac__stream__encoder.html#gga66a21">FLAC__STREAM_ENCODER_INIT_STATUS_OK</a> = 0, Chris@1: 00297 <a class="code" href="group__flac__stream__encoder.html#gga66a22">FLAC__STREAM_ENCODER_INIT_STATUS_ENCODER_ERROR</a>, Chris@1: 00300 <a class="code" href="group__flac__stream__encoder.html#gga66a23">FLAC__STREAM_ENCODER_INIT_STATUS_UNSUPPORTED_CONTAINER</a>, Chris@1: 00305 <a class="code" href="group__flac__stream__encoder.html#gga66a24">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_CALLBACKS</a>, Chris@1: 00308 <a class="code" href="group__flac__stream__encoder.html#gga66a25">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_NUMBER_OF_CHANNELS</a>, Chris@1: 00311 <a class="code" href="group__flac__stream__encoder.html#gga66a26">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_BITS_PER_SAMPLE</a>, Chris@1: 00317 <a class="code" href="group__flac__stream__encoder.html#gga66a27">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_SAMPLE_RATE</a>, Chris@1: 00320 <a class="code" href="group__flac__stream__encoder.html#gga66a28">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_BLOCK_SIZE</a>, Chris@1: 00323 <a class="code" href="group__flac__stream__encoder.html#gga66a29">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_MAX_LPC_ORDER</a>, Chris@1: 00326 <a class="code" href="group__flac__stream__encoder.html#gga66a30">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_QLP_COEFF_PRECISION</a>, Chris@1: 00329 <a class="code" href="group__flac__stream__encoder.html#gga66a31">FLAC__STREAM_ENCODER_INIT_STATUS_BLOCK_SIZE_TOO_SMALL_FOR_LPC_ORDER</a>, Chris@1: 00332 <a class="code" href="group__flac__stream__encoder.html#gga66a32">FLAC__STREAM_ENCODER_INIT_STATUS_NOT_STREAMABLE</a>, Chris@1: 00335 <a class="code" href="group__flac__stream__encoder.html#gga66a33">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_METADATA</a>, Chris@1: 00344 <a class="code" href="group__flac__stream__encoder.html#gga66a34">FLAC__STREAM_ENCODER_INIT_STATUS_ALREADY_INITIALIZED</a> Chris@1: 00350 } <a class="code" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a>; Chris@1: 00351 Chris@1: 00357 <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__encoder.html#ga1">FLAC__StreamEncoderInitStatusString</a>[]; Chris@1: 00358 Chris@1: 00359 Chris@1: <a name="l00362"></a><a class="code" href="group__flac__stream__encoder.html#ga67">00362</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> { Chris@1: 00363 Chris@1: 00364 <a class="code" href="group__flac__stream__encoder.html#gga67a35">FLAC__STREAM_ENCODER_READ_STATUS_CONTINUE</a>, Chris@1: 00367 <a class="code" href="group__flac__stream__encoder.html#gga67a36">FLAC__STREAM_ENCODER_READ_STATUS_END_OF_STREAM</a>, Chris@1: 00370 <a class="code" href="group__flac__stream__encoder.html#gga67a37">FLAC__STREAM_ENCODER_READ_STATUS_ABORT</a>, Chris@1: 00373 <a class="code" href="group__flac__stream__encoder.html#gga67a38">FLAC__STREAM_ENCODER_READ_STATUS_UNSUPPORTED</a> Chris@1: 00376 } <a class="code" href="group__flac__stream__encoder.html#ga67">FLAC__StreamEncoderReadStatus</a>; Chris@1: 00377 Chris@1: 00383 <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__encoder.html#ga2">FLAC__StreamEncoderReadStatusString</a>[]; Chris@1: 00384 Chris@1: 00385 Chris@1: <a name="l00388"></a><a class="code" href="group__flac__stream__encoder.html#ga68">00388</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> { Chris@1: 00389 Chris@1: 00390 <a class="code" href="group__flac__stream__encoder.html#gga68a39">FLAC__STREAM_ENCODER_WRITE_STATUS_OK</a> = 0, Chris@1: 00393 <a class="code" href="group__flac__stream__encoder.html#gga68a40">FLAC__STREAM_ENCODER_WRITE_STATUS_FATAL_ERROR</a> Chris@1: 00396 } <a class="code" href="group__flac__stream__encoder.html#ga68">FLAC__StreamEncoderWriteStatus</a>; Chris@1: 00397 Chris@1: 00403 <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__encoder.html#ga3">FLAC__StreamEncoderWriteStatusString</a>[]; Chris@1: 00404 Chris@1: 00405 Chris@1: <a name="l00408"></a><a class="code" href="group__flac__stream__encoder.html#ga69">00408</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> { Chris@1: 00409 Chris@1: 00410 <a class="code" href="group__flac__stream__encoder.html#gga69a41">FLAC__STREAM_ENCODER_SEEK_STATUS_OK</a>, Chris@1: 00413 <a class="code" href="group__flac__stream__encoder.html#gga69a42">FLAC__STREAM_ENCODER_SEEK_STATUS_ERROR</a>, Chris@1: 00416 <a class="code" href="group__flac__stream__encoder.html#gga69a43">FLAC__STREAM_ENCODER_SEEK_STATUS_UNSUPPORTED</a> Chris@1: 00419 } <a class="code" href="group__flac__stream__encoder.html#ga69">FLAC__StreamEncoderSeekStatus</a>; Chris@1: 00420 Chris@1: 00426 <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__encoder.html#ga4">FLAC__StreamEncoderSeekStatusString</a>[]; Chris@1: 00427 Chris@1: 00428 Chris@1: <a name="l00431"></a><a class="code" href="group__flac__stream__encoder.html#ga70">00431</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> { Chris@1: 00432 Chris@1: 00433 <a class="code" href="group__flac__stream__encoder.html#gga70a44">FLAC__STREAM_ENCODER_TELL_STATUS_OK</a>, Chris@1: 00436 <a class="code" href="group__flac__stream__encoder.html#gga70a45">FLAC__STREAM_ENCODER_TELL_STATUS_ERROR</a>, Chris@1: 00439 <a class="code" href="group__flac__stream__encoder.html#gga70a46">FLAC__STREAM_ENCODER_TELL_STATUS_UNSUPPORTED</a> Chris@1: 00442 } <a class="code" href="group__flac__stream__encoder.html#ga70">FLAC__StreamEncoderTellStatus</a>; Chris@1: 00443 Chris@1: 00449 <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__encoder.html#ga5">FLAC__StreamEncoderTellStatusString</a>[]; Chris@1: 00450 Chris@1: 00451 Chris@1: 00452 <span class="comment">/***********************************************************************</span> Chris@1: 00453 <span class="comment"> *</span> Chris@1: 00454 <span class="comment"> * class FLAC__StreamEncoder</span> Chris@1: 00455 <span class="comment"> *</span> Chris@1: 00456 <span class="comment"> ***********************************************************************/</span> Chris@1: 00457 Chris@1: 00458 <span class="keyword">struct </span>FLAC__StreamEncoderProtected; Chris@1: 00459 <span class="keyword">struct </span>FLAC__StreamEncoderPrivate; Chris@1: <a name="l00464"></a><a class="code" href="structFLAC____StreamEncoder.html">00464</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{ Chris@1: 00465 <span class="keyword">struct </span>FLAC__StreamEncoderProtected *protected_; <span class="comment">/* avoid the C++ keyword 'protected' */</span> Chris@1: 00466 <span class="keyword">struct </span>FLAC__StreamEncoderPrivate *private_; <span class="comment">/* avoid the C++ keyword 'private' */</span> Chris@1: 00467 } <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a>; Chris@1: 00468 Chris@1: <a name="l00518"></a><a class="code" href="group__flac__stream__encoder.html#ga6">00518</a> <span class="keyword">typedef</span> <a class="code" href="group__flac__stream__encoder.html#ga67">FLAC__StreamEncoderReadStatus</a> (*<a class="code" href="group__flac__stream__encoder.html#ga6">FLAC__StreamEncoderReadCallback</a>)(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__byte buffer[], size_t *bytes, <span class="keywordtype">void</span> *client_data); Chris@1: 00519 Chris@1: <a name="l00556"></a><a class="code" href="group__flac__stream__encoder.html#ga7">00556</a> <span class="keyword">typedef</span> <a class="code" href="group__flac__stream__encoder.html#ga68">FLAC__StreamEncoderWriteStatus</a> (*<a class="code" href="group__flac__stream__encoder.html#ga7">FLAC__StreamEncoderWriteCallback</a>)(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keyword">const</span> FLAC__byte buffer[], size_t bytes, <span class="keywordtype">unsigned</span> samples, <span class="keywordtype">unsigned</span> current_frame, <span class="keywordtype">void</span> *client_data); Chris@1: 00557 Chris@1: <a name="l00590"></a><a class="code" href="group__flac__stream__encoder.html#ga8">00590</a> <span class="keyword">typedef</span> <a class="code" href="group__flac__stream__encoder.html#ga69">FLAC__StreamEncoderSeekStatus</a> (*<a class="code" href="group__flac__stream__encoder.html#ga8">FLAC__StreamEncoderSeekCallback</a>)(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__uint64 absolute_byte_offset, <span class="keywordtype">void</span> *client_data); Chris@1: 00591 Chris@1: <a name="l00635"></a><a class="code" href="group__flac__stream__encoder.html#ga9">00635</a> <span class="keyword">typedef</span> <a class="code" href="group__flac__stream__encoder.html#ga70">FLAC__StreamEncoderTellStatus</a> (*<a class="code" href="group__flac__stream__encoder.html#ga9">FLAC__StreamEncoderTellCallback</a>)(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__uint64 *absolute_byte_offset, <span class="keywordtype">void</span> *client_data); Chris@1: 00636 Chris@1: <a name="l00654"></a><a class="code" href="group__flac__stream__encoder.html#ga10">00654</a> <span class="keyword">typedef</span> void (*<a class="code" href="group__flac__stream__encoder.html#ga10">FLAC__StreamEncoderMetadataCallback</a>)(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keyword">const</span> <a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *metadata, <span class="keywordtype">void</span> *client_data); Chris@1: 00655 Chris@1: <a name="l00677"></a><a class="code" href="group__flac__stream__encoder.html#ga11">00677</a> <span class="keyword">typedef</span> void (*<a class="code" href="group__flac__stream__encoder.html#ga11">FLAC__StreamEncoderProgressCallback</a>)(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__uint64 bytes_written, FLAC__uint64 samples_written, <span class="keywordtype">unsigned</span> frames_written, <span class="keywordtype">unsigned</span> total_frames_estimate, <span class="keywordtype">void</span> *client_data); Chris@1: 00678 Chris@1: 00679 Chris@1: 00680 <span class="comment">/***********************************************************************</span> Chris@1: 00681 <span class="comment"> *</span> Chris@1: 00682 <span class="comment"> * Class constructor/destructor</span> Chris@1: 00683 <span class="comment"> *</span> Chris@1: 00684 <span class="comment"> ***********************************************************************/</span> Chris@1: 00685 Chris@1: 00693 FLAC_API <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *<a class="code" href="group__flac__stream__encoder.html#ga12">FLAC__stream_encoder_new</a>(<span class="keywordtype">void</span>); Chris@1: 00694 Chris@1: 00701 FLAC_API <span class="keywordtype">void</span> <a class="code" href="group__flac__stream__encoder.html#ga13">FLAC__stream_encoder_delete</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder); Chris@1: 00702 Chris@1: 00703 Chris@1: 00704 <span class="comment">/***********************************************************************</span> Chris@1: 00705 <span class="comment"> *</span> Chris@1: 00706 <span class="comment"> * Public class method prototypes</span> Chris@1: 00707 <span class="comment"> *</span> Chris@1: 00708 <span class="comment"> ***********************************************************************/</span> Chris@1: 00709 Chris@1: 00727 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga14">FLAC__stream_encoder_set_ogg_serial_number</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keywordtype">long</span> serial_number); Chris@1: 00728 Chris@1: 00743 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga15">FLAC__stream_encoder_set_verify</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__bool value); Chris@1: 00744 Chris@1: 00761 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga16">FLAC__stream_encoder_set_streamable_subset</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__bool value); Chris@1: 00762 Chris@1: 00773 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga17">FLAC__stream_encoder_set_channels</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keywordtype">unsigned</span> value); Chris@1: 00774 Chris@1: 00789 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga18">FLAC__stream_encoder_set_bits_per_sample</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keywordtype">unsigned</span> value); Chris@1: 00790 Chris@1: 00801 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga19">FLAC__stream_encoder_set_sample_rate</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keywordtype">unsigned</span> value); Chris@1: 00802 Chris@1: 00864 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga20">FLAC__stream_encoder_set_compression_level</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keywordtype">unsigned</span> value); Chris@1: 00865 Chris@1: 00879 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga21">FLAC__stream_encoder_set_blocksize</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keywordtype">unsigned</span> value); Chris@1: 00880 Chris@1: 00893 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga22">FLAC__stream_encoder_set_do_mid_side_stereo</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__bool value); Chris@1: 00894 Chris@1: 00909 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga23">FLAC__stream_encoder_set_loose_mid_side_stereo</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__bool value); Chris@1: 00910 Chris@1: 00954 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga24">FLAC__stream_encoder_set_apodization</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keyword">const</span> <span class="keywordtype">char</span> *specification); Chris@1: 00955 Chris@1: 00966 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga25">FLAC__stream_encoder_set_max_lpc_order</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keywordtype">unsigned</span> value); Chris@1: 00967 Chris@1: 00984 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga26">FLAC__stream_encoder_set_qlp_coeff_precision</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keywordtype">unsigned</span> value); Chris@1: 00985 Chris@1: 00998 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga27">FLAC__stream_encoder_set_do_qlp_coeff_prec_search</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__bool value); Chris@1: 00999 Chris@1: 01010 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga28">FLAC__stream_encoder_set_do_escape_coding</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__bool value); Chris@1: 01011 Chris@1: 01024 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga29">FLAC__stream_encoder_set_do_exhaustive_model_search</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__bool value); Chris@1: 01025 Chris@1: 01047 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga30">FLAC__stream_encoder_set_min_residual_partition_order</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keywordtype">unsigned</span> value); Chris@1: 01048 Chris@1: 01070 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga31">FLAC__stream_encoder_set_max_residual_partition_order</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keywordtype">unsigned</span> value); Chris@1: 01071 Chris@1: 01082 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga32">FLAC__stream_encoder_set_rice_parameter_search_dist</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keywordtype">unsigned</span> value); Chris@1: 01083 Chris@1: 01098 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga33">FLAC__stream_encoder_set_total_samples_estimate</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__uint64 value); Chris@1: 01099 Chris@1: 01181 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga34">FLAC__stream_encoder_set_metadata</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> **metadata, <span class="keywordtype">unsigned</span> num_blocks); Chris@1: 01182 Chris@1: 01191 FLAC_API FLAC__StreamEncoderState <a class="code" href="group__flac__stream__encoder.html#ga35">FLAC__stream_encoder_get_state</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder); Chris@1: 01192 Chris@1: 01203 FLAC_API <a class="code" href="group__flac__stream__decoder.html#ga50">FLAC__StreamDecoderState</a> <a class="code" href="group__flac__stream__encoder.html#ga36">FLAC__stream_encoder_get_verify_decoder_state</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder); Chris@1: 01204 Chris@1: 01216 FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="group__flac__stream__encoder.html#ga37">FLAC__stream_encoder_get_resolved_state_string</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder); Chris@1: 01217 Chris@1: 01235 FLAC_API <span class="keywordtype">void</span> <a class="code" href="group__flac__stream__encoder.html#ga38">FLAC__stream_encoder_get_verify_decoder_error_stats</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__uint64 *absolute_sample, <span class="keywordtype">unsigned</span> *frame_number, <span class="keywordtype">unsigned</span> *channel, <span class="keywordtype">unsigned</span> *sample, FLAC__int32 *expected, FLAC__int32 *got); Chris@1: 01236 Chris@1: 01245 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga39">FLAC__stream_encoder_get_verify</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder); Chris@1: 01246 Chris@1: 01255 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga40">FLAC__stream_encoder_get_streamable_subset</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder); Chris@1: 01256 Chris@1: 01265 FLAC_API <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__stream__encoder.html#ga41">FLAC__stream_encoder_get_channels</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder); Chris@1: 01266 Chris@1: 01275 FLAC_API <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__stream__encoder.html#ga42">FLAC__stream_encoder_get_bits_per_sample</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder); Chris@1: 01276 Chris@1: 01285 FLAC_API <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__stream__encoder.html#ga43">FLAC__stream_encoder_get_sample_rate</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder); Chris@1: 01286 Chris@1: 01295 FLAC_API <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__stream__encoder.html#ga44">FLAC__stream_encoder_get_blocksize</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder); Chris@1: 01296 Chris@1: 01305 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga45">FLAC__stream_encoder_get_do_mid_side_stereo</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder); Chris@1: 01306 Chris@1: 01315 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga46">FLAC__stream_encoder_get_loose_mid_side_stereo</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder); Chris@1: 01316 Chris@1: 01325 FLAC_API <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__stream__encoder.html#ga47">FLAC__stream_encoder_get_max_lpc_order</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder); Chris@1: 01326 Chris@1: 01335 FLAC_API <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__stream__encoder.html#ga48">FLAC__stream_encoder_get_qlp_coeff_precision</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder); Chris@1: 01336 Chris@1: 01345 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga49">FLAC__stream_encoder_get_do_qlp_coeff_prec_search</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder); Chris@1: 01346 Chris@1: 01355 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga50">FLAC__stream_encoder_get_do_escape_coding</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder); Chris@1: 01356 Chris@1: 01365 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga51">FLAC__stream_encoder_get_do_exhaustive_model_search</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder); Chris@1: 01366 Chris@1: 01375 FLAC_API <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__stream__encoder.html#ga52">FLAC__stream_encoder_get_min_residual_partition_order</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder); Chris@1: 01376 Chris@1: 01385 FLAC_API <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__stream__encoder.html#ga53">FLAC__stream_encoder_get_max_residual_partition_order</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder); Chris@1: 01386 Chris@1: 01395 FLAC_API <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__stream__encoder.html#ga54">FLAC__stream_encoder_get_rice_parameter_search_dist</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder); Chris@1: 01396 Chris@1: 01408 FLAC_API FLAC__uint64 <a class="code" href="group__flac__stream__encoder.html#ga55">FLAC__stream_encoder_get_total_samples_estimate</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder); Chris@1: 01409 Chris@1: 01471 FLAC_API FLAC__StreamEncoderInitStatus <a class="code" href="group__flac__stream__encoder.html#ga56">FLAC__stream_encoder_init_stream</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <a class="code" href="group__flac__stream__encoder.html#ga7">FLAC__StreamEncoderWriteCallback</a> write_callback, <a class="code" href="group__flac__stream__encoder.html#ga8">FLAC__StreamEncoderSeekCallback</a> seek_callback, <a class="code" href="group__flac__stream__encoder.html#ga9">FLAC__StreamEncoderTellCallback</a> tell_callback, <a class="code" href="group__flac__stream__encoder.html#ga10">FLAC__StreamEncoderMetadataCallback</a> metadata_callback, <span class="keywordtype">void</span> *client_data); Chris@1: 01472 Chris@1: 01539 FLAC_API FLAC__StreamEncoderInitStatus <a class="code" href="group__flac__stream__encoder.html#ga57">FLAC__stream_encoder_init_ogg_stream</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <a class="code" href="group__flac__stream__encoder.html#ga6">FLAC__StreamEncoderReadCallback</a> read_callback, <a class="code" href="group__flac__stream__encoder.html#ga7">FLAC__StreamEncoderWriteCallback</a> write_callback, <a class="code" href="group__flac__stream__encoder.html#ga8">FLAC__StreamEncoderSeekCallback</a> seek_callback, <a class="code" href="group__flac__stream__encoder.html#ga9">FLAC__StreamEncoderTellCallback</a> tell_callback, <a class="code" href="group__flac__stream__encoder.html#ga10">FLAC__StreamEncoderMetadataCallback</a> metadata_callback, <span class="keywordtype">void</span> *client_data); Chris@1: 01540 Chris@1: 01574 FLAC_API FLAC__StreamEncoderInitStatus <a class="code" href="group__flac__stream__encoder.html#ga58">FLAC__stream_encoder_init_FILE</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FILE *file, <a class="code" href="group__flac__stream__encoder.html#ga11">FLAC__StreamEncoderProgressCallback</a> progress_callback, <span class="keywordtype">void</span> *client_data); Chris@1: 01575 Chris@1: 01609 FLAC_API FLAC__StreamEncoderInitStatus <a class="code" href="group__flac__stream__encoder.html#ga59">FLAC__stream_encoder_init_ogg_FILE</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FILE *file, <a class="code" href="group__flac__stream__encoder.html#ga11">FLAC__StreamEncoderProgressCallback</a> progress_callback, <span class="keywordtype">void</span> *client_data); Chris@1: 01610 Chris@1: 01641 FLAC_API FLAC__StreamEncoderInitStatus <a class="code" href="group__flac__stream__encoder.html#ga60">FLAC__stream_encoder_init_file</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keyword">const</span> <span class="keywordtype">char</span> *filename, <a class="code" href="group__flac__stream__encoder.html#ga11">FLAC__StreamEncoderProgressCallback</a> progress_callback, <span class="keywordtype">void</span> *client_data); Chris@1: 01642 Chris@1: 01673 FLAC_API FLAC__StreamEncoderInitStatus <a class="code" href="group__flac__stream__encoder.html#ga61">FLAC__stream_encoder_init_ogg_file</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keyword">const</span> <span class="keywordtype">char</span> *filename, <a class="code" href="group__flac__stream__encoder.html#ga11">FLAC__StreamEncoderProgressCallback</a> progress_callback, <span class="keywordtype">void</span> *client_data); Chris@1: 01674 Chris@1: 01701 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga62">FLAC__stream_encoder_finish</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder); Chris@1: 01702 Chris@1: 01728 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga63">FLAC__stream_encoder_process</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keyword">const</span> FLAC__int32 * <span class="keyword">const</span> buffer[], <span class="keywordtype">unsigned</span> samples); Chris@1: 01729 Chris@1: 01760 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga64">FLAC__stream_encoder_process_interleaved</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keyword">const</span> FLAC__int32 buffer[], <span class="keywordtype">unsigned</span> samples); Chris@1: 01761 Chris@1: 01762 <span class="comment">/* \} */</span> Chris@1: 01763 Chris@1: 01764 <span class="preprocessor">#ifdef __cplusplus</span> Chris@1: 01765 <span class="preprocessor"></span>} Chris@1: 01766 <span class="preprocessor">#endif</span> Chris@1: 01767 <span class="preprocessor"></span> Chris@1: 01768 <span class="preprocessor">#endif</span> Chris@1: </pre></div> Chris@1: <hr size="1"> Chris@1: <div class="copyright"> Chris@1: <!-- @@@ oh so hacky --> Chris@1: <table> Chris@1: <tr> Chris@1: <td align="left"> Chris@1: Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson Chris@1: </td> Chris@1: <td width="1%" align="right"> Chris@1: <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> Chris@1: </td> Chris@1: </tr> Chris@1: </table> Chris@1: </div> Chris@1: <!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson --> Chris@1: <!-- Permission is granted to copy, distribute and/or modify this document --> Chris@1: <!-- under the terms of the GNU Free Documentation License, Version 1.1 --> Chris@1: <!-- or any later version published by the Free Software Foundation; --> Chris@1: <!-- with no invariant sections. --> Chris@1: <!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html --> Chris@1: </body> Chris@1: </html>