1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3
<title>stream_decoder.h File Reference</title>
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
6
<!-- Generated by Doxygen 1.2.14 -->
8
<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">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> </center>
9
<hr><h1>include/FLAC/stream_decoder.h File Reference</h1>This module contains the functions which implement the stream decoder.
10
<a href="#_details">More...</a>
12
<code>#include "export.h"</code><br>
13
<code>#include "<a class="el" href="format_8h-source.html">format.h</a>"</code><br>
16
<a href="FLAC_2stream__decoder_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
17
<tr><td colspan=2><br><h2>Compounds</h2></td></tr>
18
<tr><td nowrap align=right valign=top>struct </td><td valign=bottom><a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a></td></tr>
19
<tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
20
<tr><td nowrap align=right valign=top>typedef <a class="el" href="group__flac__stream__decoder.html#a37">FLAC__StreamDecoderReadStatus</a>(* </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a4">FLAC__StreamDecoderReadCallback</a> )(const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__byte buffer[], unsigned *bytes, void *client_data)</td></tr>
21
<tr><td nowrap align=right valign=top>typedef <a class="el" href="group__flac__stream__decoder.html#a38">FLAC__StreamDecoderWriteStatus</a>(* </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a5">FLAC__StreamDecoderWriteCallback</a> )(const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, const <a class="el" href="structFLAC____Frame.html">FLAC__Frame</a> *frame, const FLAC__int32 *const buffer[], void *client_data)</td></tr>
22
<tr><td nowrap align=right valign=top>typedef void(* </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a6">FLAC__StreamDecoderMetadataCallback</a> )(const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *metadata, void *client_data)</td></tr>
23
<tr><td nowrap align=right valign=top>typedef void(* </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a7">FLAC__StreamDecoderErrorCallback</a> )(const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <a class="el" href="group__flac__stream__decoder.html#a39">FLAC__StreamDecoderErrorStatus</a> status, void *client_data)</td></tr>
24
<tr><td colspan=2><br><h2>Enumerations</h2></td></tr>
25
<tr><td nowrap align=right valign=top>enum </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a36">FLAC__StreamDecoderState</a> { <br>
26
<a class="el" href="group__flac__stream__decoder.html#a36a8">FLAC__STREAM_DECODER_SEARCH_FOR_METADATA</a> = 0,
27
<a class="el" href="group__flac__stream__decoder.html#a36a9">FLAC__STREAM_DECODER_READ_METADATA</a>,
28
<a class="el" href="group__flac__stream__decoder.html#a36a10">FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC</a>,
29
<a class="el" href="group__flac__stream__decoder.html#a36a11">FLAC__STREAM_DECODER_READ_FRAME</a>,
31
<a class="el" href="group__flac__stream__decoder.html#a36a12">FLAC__STREAM_DECODER_END_OF_STREAM</a>,
32
<a class="el" href="group__flac__stream__decoder.html#a36a13">FLAC__STREAM_DECODER_ABORTED</a>,
33
<a class="el" href="group__flac__stream__decoder.html#a36a14">FLAC__STREAM_DECODER_UNPARSEABLE_STREAM</a>,
34
<a class="el" href="group__flac__stream__decoder.html#a36a15">FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR</a>,
36
<a class="el" href="group__flac__stream__decoder.html#a36a16">FLAC__STREAM_DECODER_ALREADY_INITIALIZED</a>,
37
<a class="el" href="group__flac__stream__decoder.html#a36a17">FLAC__STREAM_DECODER_INVALID_CALLBACK</a>,
38
<a class="el" href="group__flac__stream__decoder.html#a36a18">FLAC__STREAM_DECODER_UNINITIALIZED</a>
41
<tr><td nowrap align=right valign=top>enum </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a37">FLAC__StreamDecoderReadStatus</a> { <a class="el" href="group__flac__stream__decoder.html#a37a19">FLAC__STREAM_DECODER_READ_STATUS_CONTINUE</a>,
42
<a class="el" href="group__flac__stream__decoder.html#a37a20">FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM</a>,
43
<a class="el" href="group__flac__stream__decoder.html#a37a21">FLAC__STREAM_DECODER_READ_STATUS_ABORT</a>
45
<tr><td nowrap align=right valign=top>enum </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a38">FLAC__StreamDecoderWriteStatus</a> { <a class="el" href="group__flac__stream__decoder.html#a38a22">FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE</a>,
46
<a class="el" href="group__flac__stream__decoder.html#a38a23">FLAC__STREAM_DECODER_WRITE_STATUS_ABORT</a>
48
<tr><td nowrap align=right valign=top>enum </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a39">FLAC__StreamDecoderErrorStatus</a> { <a class="el" href="group__flac__stream__decoder.html#a39a24">FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC</a>,
49
<a class="el" href="group__flac__stream__decoder.html#a39a25">FLAC__STREAM_DECODER_ERROR_STATUS_BAD_HEADER</a>,
50
<a class="el" href="group__flac__stream__decoder.html#a39a26">FLAC__STREAM_DECODER_ERROR_STATUS_FRAME_CRC_MISMATCH</a>
52
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
53
<tr><td nowrap align=right valign=top><a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> * </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a8">FLAC__stream_decoder_new</a> ()</td></tr>
54
<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a9">FLAC__stream_decoder_delete</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
55
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a10">FLAC__stream_decoder_set_read_callback</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <a class="el" href="group__flac__stream__decoder.html#a4">FLAC__StreamDecoderReadCallback</a> value)</td></tr>
56
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a11">FLAC__stream_decoder_set_write_callback</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <a class="el" href="group__flac__stream__decoder.html#a5">FLAC__StreamDecoderWriteCallback</a> value)</td></tr>
57
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a12">FLAC__stream_decoder_set_metadata_callback</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <a class="el" href="group__flac__stream__decoder.html#a6">FLAC__StreamDecoderMetadataCallback</a> value)</td></tr>
58
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a13">FLAC__stream_decoder_set_error_callback</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <a class="el" href="group__flac__stream__decoder.html#a7">FLAC__StreamDecoderErrorCallback</a> value)</td></tr>
59
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a14">FLAC__stream_decoder_set_client_data</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, void *value)</td></tr>
60
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a15">FLAC__stream_decoder_set_metadata_respond</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <a class="el" href="group__flac__format.html#a97">FLAC__MetadataType</a> type)</td></tr>
61
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a16">FLAC__stream_decoder_set_metadata_respond_application</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, const FLAC__byte id[4])</td></tr>
62
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a17">FLAC__stream_decoder_set_metadata_respond_all</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
63
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a18">FLAC__stream_decoder_set_metadata_ignore</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <a class="el" href="group__flac__format.html#a97">FLAC__MetadataType</a> type)</td></tr>
64
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a19">FLAC__stream_decoder_set_metadata_ignore_application</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, const FLAC__byte id[4])</td></tr>
65
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a20">FLAC__stream_decoder_set_metadata_ignore_all</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
66
<tr><td nowrap align=right valign=top><a class="el" href="group__flac__stream__decoder.html#a36">FLAC__StreamDecoderState</a> </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a21">FLAC__stream_decoder_get_state</a> (const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
67
<tr><td nowrap align=right valign=top>const char * </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a22">FLAC__stream_decoder_get_resolved_state_string</a> (const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
68
<tr><td nowrap align=right valign=top>unsigned </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a23">FLAC__stream_decoder_get_channels</a> (const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
69
<tr><td nowrap align=right valign=top><a class="el" href="group__flac__format.html#a95">FLAC__ChannelAssignment</a> </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a24">FLAC__stream_decoder_get_channel_assignment</a> (const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
70
<tr><td nowrap align=right valign=top>unsigned </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a25">FLAC__stream_decoder_get_bits_per_sample</a> (const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
71
<tr><td nowrap align=right valign=top>unsigned </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a26">FLAC__stream_decoder_get_sample_rate</a> (const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
72
<tr><td nowrap align=right valign=top>unsigned </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a27">FLAC__stream_decoder_get_blocksize</a> (const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
73
<tr><td nowrap align=right valign=top><a class="el" href="group__flac__stream__decoder.html#a36">FLAC__StreamDecoderState</a> </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a28">FLAC__stream_decoder_init</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
74
<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a29">FLAC__stream_decoder_finish</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
75
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a30">FLAC__stream_decoder_flush</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
76
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a31">FLAC__stream_decoder_reset</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
77
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a32">FLAC__stream_decoder_process_single</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
78
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a33">FLAC__stream_decoder_process_until_end_of_metadata</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
79
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a34">FLAC__stream_decoder_process_until_end_of_stream</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
80
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a35">FLAC__stream_decoder_skip_single_frame</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
81
<tr><td colspan=2><br><h2>Variables</h2></td></tr>
82
<tr><td nowrap align=right valign=top>const char *const </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a0">FLAC__StreamDecoderStateString</a> []</td></tr>
83
<tr><td nowrap align=right valign=top>const char *const </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a1">FLAC__StreamDecoderReadStatusString</a> []</td></tr>
84
<tr><td nowrap align=right valign=top>const char *const </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a2">FLAC__StreamDecoderWriteStatusString</a> []</td></tr>
85
<tr><td nowrap align=right valign=top>const char *const </td><td valign=bottom><a class="el" href="group__flac__stream__decoder.html#a3">FLAC__StreamDecoderErrorStatusString</a> []</td></tr>
87
<hr><a name="_details"></a><h2>Detailed Description</h2>
88
This module contains the functions which implement the stream decoder.
94
See the detailed documentation in the <a class="el" href="group__flac__stream__decoder.html">stream decoder</a> module.
96
<hr><address><small>Generated on Fri Feb 4 18:39:12 2005 for FLAC by
97
<a href="http://www.doxygen.org/index.html">
98
<img src="doxygen.gif" alt="doxygen" align="middle" border=0
99
width=110 height=53></a>1.2.14 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
100
© 1997-2002</small></address>