cannam@86: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> cannam@86: <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> cannam@86: <title>FLAC: include/FLAC/stream_encoder.h Source File</title> cannam@86: <link href="doxygen.css" rel="stylesheet" type="text/css"> cannam@86: </head><body> cannam@86: <!-- Generated by Doxygen 1.4.2 --> cannam@86: <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> cannam@86: <div class="nav"> cannam@86: <a class="el" href="dir_000000.html">include</a> / <a class="el" href="dir_000002.html">FLAC</a></div> cannam@86: <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> cannam@86: 00002 <span class="comment"> * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson</span> cannam@86: 00003 <span class="comment"> *</span> cannam@86: 00004 <span class="comment"> * Redistribution and use in source and binary forms, with or without</span> cannam@86: 00005 <span class="comment"> * modification, are permitted provided that the following conditions</span> cannam@86: 00006 <span class="comment"> * are met:</span> cannam@86: 00007 <span class="comment"> *</span> cannam@86: 00008 <span class="comment"> * - Redistributions of source code must retain the above copyright</span> cannam@86: 00009 <span class="comment"> * notice, this list of conditions and the following disclaimer.</span> cannam@86: 00010 <span class="comment"> *</span> cannam@86: 00011 <span class="comment"> * - Redistributions in binary form must reproduce the above copyright</span> cannam@86: 00012 <span class="comment"> * notice, this list of conditions and the following disclaimer in the</span> cannam@86: 00013 <span class="comment"> * documentation and/or other materials provided with the distribution.</span> cannam@86: 00014 <span class="comment"> *</span> cannam@86: 00015 <span class="comment"> * - Neither the name of the Xiph.org Foundation nor the names of its</span> cannam@86: 00016 <span class="comment"> * contributors may be used to endorse or promote products derived from</span> cannam@86: 00017 <span class="comment"> * this software without specific prior written permission.</span> cannam@86: 00018 <span class="comment"> *</span> cannam@86: 00019 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span> cannam@86: 00020 <span class="comment"> * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span> cannam@86: 00021 <span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span> cannam@86: 00022 <span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR</span> cannam@86: 00023 <span class="comment"> * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,</span> cannam@86: 00024 <span class="comment"> * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,</span> cannam@86: 00025 <span class="comment"> * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR</span> cannam@86: 00026 <span class="comment"> * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF</span> cannam@86: 00027 <span class="comment"> * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING</span> cannam@86: 00028 <span class="comment"> * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS</span> cannam@86: 00029 <span class="comment"> * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span> cannam@86: 00030 <span class="comment"> */</span> cannam@86: 00031 cannam@86: 00032 <span class="preprocessor">#ifndef FLAC__STREAM_ENCODER_H</span> cannam@86: 00033 <span class="preprocessor"></span><span class="preprocessor">#define FLAC__STREAM_ENCODER_H</span> cannam@86: 00034 <span class="preprocessor"></span> cannam@86: 00035 <span class="preprocessor">#include <stdio.h></span> <span class="comment">/* for FILE */</span> cannam@86: 00036 <span class="preprocessor">#include "<a class="code" href="export_8h.html">export.h</a>"</span> cannam@86: 00037 <span class="preprocessor">#include "<a class="code" href="format_8h.html">format.h</a>"</span> cannam@86: 00038 <span class="preprocessor">#include "<a class="code" href="stream__decoder_8h.html">stream_decoder.h</a>"</span> cannam@86: 00039 cannam@86: 00040 <span class="preprocessor">#ifdef __cplusplus</span> cannam@86: 00041 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { cannam@86: 00042 <span class="preprocessor">#endif</span> cannam@86: 00043 <span class="preprocessor"></span> cannam@86: 00044 cannam@86: <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> { cannam@86: 00241 cannam@86: 00242 <a class="code" href="group__flac__stream__encoder.html#gga65a12">FLAC__STREAM_ENCODER_OK</a> = 0, cannam@86: 00245 <a class="code" href="group__flac__stream__encoder.html#gga65a13">FLAC__STREAM_ENCODER_UNINITIALIZED</a>, cannam@86: 00251 <a class="code" href="group__flac__stream__encoder.html#gga65a14">FLAC__STREAM_ENCODER_OGG_ERROR</a>, cannam@86: 00254 <a class="code" href="group__flac__stream__encoder.html#gga65a15">FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR</a>, cannam@86: 00259 <a class="code" href="group__flac__stream__encoder.html#gga65a16">FLAC__STREAM_ENCODER_VERIFY_MISMATCH_IN_AUDIO_DATA</a>, cannam@86: 00264 <a class="code" href="group__flac__stream__encoder.html#gga65a17">FLAC__STREAM_ENCODER_CLIENT_ERROR</a>, cannam@86: 00267 <a class="code" href="group__flac__stream__encoder.html#gga65a18">FLAC__STREAM_ENCODER_IO_ERROR</a>, cannam@86: 00272 <a class="code" href="group__flac__stream__encoder.html#gga65a19">FLAC__STREAM_ENCODER_FRAMING_ERROR</a>, cannam@86: 00277 <a class="code" href="group__flac__stream__encoder.html#gga65a20">FLAC__STREAM_ENCODER_MEMORY_ALLOCATION_ERROR</a> cannam@86: 00280 } <a class="code" href="group__flac__stream__encoder.html#ga65">FLAC__StreamEncoderState</a>; cannam@86: 00281 cannam@86: 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>[]; cannam@86: 00288 cannam@86: 00289 cannam@86: <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> { cannam@86: 00293 cannam@86: 00294 <a class="code" href="group__flac__stream__encoder.html#gga66a21">FLAC__STREAM_ENCODER_INIT_STATUS_OK</a> = 0, cannam@86: 00297 <a class="code" href="group__flac__stream__encoder.html#gga66a22">FLAC__STREAM_ENCODER_INIT_STATUS_ENCODER_ERROR</a>, cannam@86: 00300 <a class="code" href="group__flac__stream__encoder.html#gga66a23">FLAC__STREAM_ENCODER_INIT_STATUS_UNSUPPORTED_CONTAINER</a>, cannam@86: 00305 <a class="code" href="group__flac__stream__encoder.html#gga66a24">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_CALLBACKS</a>, cannam@86: 00308 <a class="code" href="group__flac__stream__encoder.html#gga66a25">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_NUMBER_OF_CHANNELS</a>, cannam@86: 00311 <a class="code" href="group__flac__stream__encoder.html#gga66a26">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_BITS_PER_SAMPLE</a>, cannam@86: 00317 <a class="code" href="group__flac__stream__encoder.html#gga66a27">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_SAMPLE_RATE</a>, cannam@86: 00320 <a class="code" href="group__flac__stream__encoder.html#gga66a28">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_BLOCK_SIZE</a>, cannam@86: 00323 <a class="code" href="group__flac__stream__encoder.html#gga66a29">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_MAX_LPC_ORDER</a>, cannam@86: 00326 <a class="code" href="group__flac__stream__encoder.html#gga66a30">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_QLP_COEFF_PRECISION</a>, cannam@86: 00329 <a class="code" href="group__flac__stream__encoder.html#gga66a31">FLAC__STREAM_ENCODER_INIT_STATUS_BLOCK_SIZE_TOO_SMALL_FOR_LPC_ORDER</a>, cannam@86: 00332 <a class="code" href="group__flac__stream__encoder.html#gga66a32">FLAC__STREAM_ENCODER_INIT_STATUS_NOT_STREAMABLE</a>, cannam@86: 00335 <a class="code" href="group__flac__stream__encoder.html#gga66a33">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_METADATA</a>, cannam@86: 00344 <a class="code" href="group__flac__stream__encoder.html#gga66a34">FLAC__STREAM_ENCODER_INIT_STATUS_ALREADY_INITIALIZED</a> cannam@86: 00350 } <a class="code" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a>; cannam@86: 00351 cannam@86: 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>[]; cannam@86: 00358 cannam@86: 00359 cannam@86: <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> { cannam@86: 00363 cannam@86: 00364 <a class="code" href="group__flac__stream__encoder.html#gga67a35">FLAC__STREAM_ENCODER_READ_STATUS_CONTINUE</a>, cannam@86: 00367 <a class="code" href="group__flac__stream__encoder.html#gga67a36">FLAC__STREAM_ENCODER_READ_STATUS_END_OF_STREAM</a>, cannam@86: 00370 <a class="code" href="group__flac__stream__encoder.html#gga67a37">FLAC__STREAM_ENCODER_READ_STATUS_ABORT</a>, cannam@86: 00373 <a class="code" href="group__flac__stream__encoder.html#gga67a38">FLAC__STREAM_ENCODER_READ_STATUS_UNSUPPORTED</a> cannam@86: 00376 } <a class="code" href="group__flac__stream__encoder.html#ga67">FLAC__StreamEncoderReadStatus</a>; cannam@86: 00377 cannam@86: 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>[]; cannam@86: 00384 cannam@86: 00385 cannam@86: <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> { cannam@86: 00389 cannam@86: 00390 <a class="code" href="group__flac__stream__encoder.html#gga68a39">FLAC__STREAM_ENCODER_WRITE_STATUS_OK</a> = 0, cannam@86: 00393 <a class="code" href="group__flac__stream__encoder.html#gga68a40">FLAC__STREAM_ENCODER_WRITE_STATUS_FATAL_ERROR</a> cannam@86: 00396 } <a class="code" href="group__flac__stream__encoder.html#ga68">FLAC__StreamEncoderWriteStatus</a>; cannam@86: 00397 cannam@86: 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>[]; cannam@86: 00404 cannam@86: 00405 cannam@86: <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> { cannam@86: 00409 cannam@86: 00410 <a class="code" href="group__flac__stream__encoder.html#gga69a41">FLAC__STREAM_ENCODER_SEEK_STATUS_OK</a>, cannam@86: 00413 <a class="code" href="group__flac__stream__encoder.html#gga69a42">FLAC__STREAM_ENCODER_SEEK_STATUS_ERROR</a>, cannam@86: 00416 <a class="code" href="group__flac__stream__encoder.html#gga69a43">FLAC__STREAM_ENCODER_SEEK_STATUS_UNSUPPORTED</a> cannam@86: 00419 } <a class="code" href="group__flac__stream__encoder.html#ga69">FLAC__StreamEncoderSeekStatus</a>; cannam@86: 00420 cannam@86: 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>[]; cannam@86: 00427 cannam@86: 00428 cannam@86: <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> { cannam@86: 00432 cannam@86: 00433 <a class="code" href="group__flac__stream__encoder.html#gga70a44">FLAC__STREAM_ENCODER_TELL_STATUS_OK</a>, cannam@86: 00436 <a class="code" href="group__flac__stream__encoder.html#gga70a45">FLAC__STREAM_ENCODER_TELL_STATUS_ERROR</a>, cannam@86: 00439 <a class="code" href="group__flac__stream__encoder.html#gga70a46">FLAC__STREAM_ENCODER_TELL_STATUS_UNSUPPORTED</a> cannam@86: 00442 } <a class="code" href="group__flac__stream__encoder.html#ga70">FLAC__StreamEncoderTellStatus</a>; cannam@86: 00443 cannam@86: 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>[]; cannam@86: 00450 cannam@86: 00451 cannam@86: 00452 <span class="comment">/***********************************************************************</span> cannam@86: 00453 <span class="comment"> *</span> cannam@86: 00454 <span class="comment"> * class FLAC__StreamEncoder</span> cannam@86: 00455 <span class="comment"> *</span> cannam@86: 00456 <span class="comment"> ***********************************************************************/</span> cannam@86: 00457 cannam@86: 00458 <span class="keyword">struct </span>FLAC__StreamEncoderProtected; cannam@86: 00459 <span class="keyword">struct </span>FLAC__StreamEncoderPrivate; cannam@86: <a name="l00464"></a><a class="code" href="structFLAC____StreamEncoder.html">00464</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{ cannam@86: 00465 <span class="keyword">struct </span>FLAC__StreamEncoderProtected *protected_; <span class="comment">/* avoid the C++ keyword 'protected' */</span> cannam@86: 00466 <span class="keyword">struct </span>FLAC__StreamEncoderPrivate *private_; <span class="comment">/* avoid the C++ keyword 'private' */</span> cannam@86: 00467 } <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a>; cannam@86: 00468 cannam@86: <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); cannam@86: 00519 cannam@86: <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); cannam@86: 00557 cannam@86: <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); cannam@86: 00591 cannam@86: <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); cannam@86: 00636 cannam@86: <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); cannam@86: 00655 cannam@86: <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); cannam@86: 00678 cannam@86: 00679 cannam@86: 00680 <span class="comment">/***********************************************************************</span> cannam@86: 00681 <span class="comment"> *</span> cannam@86: 00682 <span class="comment"> * Class constructor/destructor</span> cannam@86: 00683 <span class="comment"> *</span> cannam@86: 00684 <span class="comment"> ***********************************************************************/</span> cannam@86: 00685 cannam@86: 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>); cannam@86: 00694 cannam@86: 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); cannam@86: 00702 cannam@86: 00703 cannam@86: 00704 <span class="comment">/***********************************************************************</span> cannam@86: 00705 <span class="comment"> *</span> cannam@86: 00706 <span class="comment"> * Public class method prototypes</span> cannam@86: 00707 <span class="comment"> *</span> cannam@86: 00708 <span class="comment"> ***********************************************************************/</span> cannam@86: 00709 cannam@86: 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); cannam@86: 00728 cannam@86: 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); cannam@86: 00744 cannam@86: 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); cannam@86: 00762 cannam@86: 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); cannam@86: 00774 cannam@86: 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); cannam@86: 00790 cannam@86: 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); cannam@86: 00802 cannam@86: 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); cannam@86: 00865 cannam@86: 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); cannam@86: 00880 cannam@86: 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); cannam@86: 00894 cannam@86: 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); cannam@86: 00910 cannam@86: 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); cannam@86: 00955 cannam@86: 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); cannam@86: 00967 cannam@86: 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); cannam@86: 00985 cannam@86: 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); cannam@86: 00999 cannam@86: 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); cannam@86: 01011 cannam@86: 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); cannam@86: 01025 cannam@86: 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); cannam@86: 01048 cannam@86: 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); cannam@86: 01071 cannam@86: 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); cannam@86: 01083 cannam@86: 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); cannam@86: 01099 cannam@86: 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); cannam@86: 01182 cannam@86: 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); cannam@86: 01192 cannam@86: 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); cannam@86: 01204 cannam@86: 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); cannam@86: 01217 cannam@86: 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); cannam@86: 01236 cannam@86: 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); cannam@86: 01246 cannam@86: 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); cannam@86: 01256 cannam@86: 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); cannam@86: 01266 cannam@86: 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); cannam@86: 01276 cannam@86: 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); cannam@86: 01286 cannam@86: 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); cannam@86: 01296 cannam@86: 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); cannam@86: 01306 cannam@86: 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); cannam@86: 01316 cannam@86: 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); cannam@86: 01326 cannam@86: 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); cannam@86: 01336 cannam@86: 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); cannam@86: 01346 cannam@86: 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); cannam@86: 01356 cannam@86: 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); cannam@86: 01366 cannam@86: 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); cannam@86: 01376 cannam@86: 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); cannam@86: 01386 cannam@86: 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); cannam@86: 01396 cannam@86: 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); cannam@86: 01409 cannam@86: 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); cannam@86: 01472 cannam@86: 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); cannam@86: 01540 cannam@86: 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); cannam@86: 01575 cannam@86: 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); cannam@86: 01610 cannam@86: 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); cannam@86: 01642 cannam@86: 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); cannam@86: 01674 cannam@86: 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); cannam@86: 01702 cannam@86: 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); cannam@86: 01729 cannam@86: 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); cannam@86: 01761 cannam@86: 01762 <span class="comment">/* \} */</span> cannam@86: 01763 cannam@86: 01764 <span class="preprocessor">#ifdef __cplusplus</span> cannam@86: 01765 <span class="preprocessor"></span>} cannam@86: 01766 <span class="preprocessor">#endif</span> cannam@86: 01767 <span class="preprocessor"></span> cannam@86: 01768 <span class="preprocessor">#endif</span> cannam@86: </pre></div> cannam@86: <hr size="1"> cannam@86: <div class="copyright"> cannam@86: <!-- @@@ oh so hacky --> cannam@86: <table> cannam@86: <tr> cannam@86: <td align="left"> cannam@86: Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson cannam@86: </td> cannam@86: <td width="1%" align="right"> cannam@86: <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> cannam@86: </td> cannam@86: </tr> cannam@86: </table> cannam@86: </div> cannam@86: <!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson --> cannam@86: <!-- Permission is granted to copy, distribute and/or modify this document --> cannam@86: <!-- under the terms of the GNU Free Documentation License, Version 1.1 --> cannam@86: <!-- or any later version published by the Free Software Foundation; --> cannam@86: <!-- with no invariant sections. --> cannam@86: <!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html --> cannam@86: </body> cannam@86: </html>