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>FLAC/seekable_stream_decoder.h: seekable stream decoder interface</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>FLAC/seekable_stream_decoder.h: seekable stream decoder interface<br>
11
[<a class="el" href="group__flac__decoder.html">FLAC/_decoder.h: decoder interfaces</a>]</small>
12
</h1>This module contains the functions which implement the seekable stream decoder.
13
<a href="#_details">More...</a><table border=0 cellpadding=0 cellspacing=0>
14
<tr><td colspan=2><br><h2>Compounds</h2></td></tr>
15
<tr><td nowrap align=right valign=top>struct </td><td valign=bottom><a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a></td></tr>
16
<tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
17
<tr><td nowrap align=right valign=top>typedef <a class="el" href="group__flac__seekable__stream__decoder.html#a51">FLAC__SeekableStreamDecoderReadStatus</a>(* </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a5">FLAC__SeekableStreamDecoderReadCallback</a> )(const <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, FLAC__byte buffer[], unsigned *bytes, void *client_data)</td></tr>
18
<tr><td nowrap align=right valign=top>typedef <a class="el" href="group__flac__seekable__stream__decoder.html#a52">FLAC__SeekableStreamDecoderSeekStatus</a>(* </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a6">FLAC__SeekableStreamDecoderSeekCallback</a> )(const <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, FLAC__uint64 absolute_byte_offset, void *client_data)</td></tr>
19
<tr><td nowrap align=right valign=top>typedef <a class="el" href="group__flac__seekable__stream__decoder.html#a53">FLAC__SeekableStreamDecoderTellStatus</a>(* </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a7">FLAC__SeekableStreamDecoderTellCallback</a> )(const <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data)</td></tr>
20
<tr><td nowrap align=right valign=top>typedef <a class="el" href="group__flac__seekable__stream__decoder.html#a54">FLAC__SeekableStreamDecoderLengthStatus</a>(* </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a8">FLAC__SeekableStreamDecoderLengthCallback</a> )(const <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, FLAC__uint64 *stream_length, void *client_data)</td></tr>
21
<tr><td nowrap align=right valign=top>typedef FLAC__bool(* </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a9">FLAC__SeekableStreamDecoderEofCallback</a> )(const <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, void *client_data)</td></tr>
22
<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__seekable__stream__decoder.html#a10">FLAC__SeekableStreamDecoderWriteCallback</a> )(const <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, const <a class="el" href="structFLAC____Frame.html">FLAC__Frame</a> *frame, const FLAC__int32 *const buffer[], 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__seekable__stream__decoder.html#a11">FLAC__SeekableStreamDecoderMetadataCallback</a> )(const <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *metadata, void *client_data)</td></tr>
24
<tr><td nowrap align=right valign=top>typedef void(* </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a12">FLAC__SeekableStreamDecoderErrorCallback</a> )(const <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, <a class="el" href="group__flac__stream__decoder.html#a39">FLAC__StreamDecoderErrorStatus</a> status, void *client_data)</td></tr>
25
<tr><td colspan=2><br><h2>Enumerations</h2></td></tr>
26
<tr><td nowrap align=right valign=top>enum </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a50">FLAC__SeekableStreamDecoderState</a> { <br>
27
<a class="el" href="group__flac__seekable__stream__decoder.html#a50a13">FLAC__SEEKABLE_STREAM_DECODER_OK</a> = 0,
28
<a class="el" href="group__flac__seekable__stream__decoder.html#a50a14">FLAC__SEEKABLE_STREAM_DECODER_SEEKING</a>,
29
<a class="el" href="group__flac__seekable__stream__decoder.html#a50a15">FLAC__SEEKABLE_STREAM_DECODER_END_OF_STREAM</a>,
30
<a class="el" href="group__flac__seekable__stream__decoder.html#a50a16">FLAC__SEEKABLE_STREAM_DECODER_MEMORY_ALLOCATION_ERROR</a>,
32
<a class="el" href="group__flac__seekable__stream__decoder.html#a50a17">FLAC__SEEKABLE_STREAM_DECODER_STREAM_DECODER_ERROR</a>,
33
<a class="el" href="group__flac__seekable__stream__decoder.html#a50a18">FLAC__SEEKABLE_STREAM_DECODER_READ_ERROR</a>,
34
<a class="el" href="group__flac__seekable__stream__decoder.html#a50a19">FLAC__SEEKABLE_STREAM_DECODER_SEEK_ERROR</a>,
35
<a class="el" href="group__flac__seekable__stream__decoder.html#a50a20">FLAC__SEEKABLE_STREAM_DECODER_ALREADY_INITIALIZED</a>,
37
<a class="el" href="group__flac__seekable__stream__decoder.html#a50a21">FLAC__SEEKABLE_STREAM_DECODER_INVALID_CALLBACK</a>,
38
<a class="el" href="group__flac__seekable__stream__decoder.html#a50a22">FLAC__SEEKABLE_STREAM_DECODER_UNINITIALIZED</a>
41
<tr><td nowrap align=right valign=top>enum </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a51">FLAC__SeekableStreamDecoderReadStatus</a> { <a class="el" href="group__flac__seekable__stream__decoder.html#a51a23">FLAC__SEEKABLE_STREAM_DECODER_READ_STATUS_OK</a>,
42
<a class="el" href="group__flac__seekable__stream__decoder.html#a51a24">FLAC__SEEKABLE_STREAM_DECODER_READ_STATUS_ERROR</a>
44
<tr><td nowrap align=right valign=top>enum </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a52">FLAC__SeekableStreamDecoderSeekStatus</a> { <a class="el" href="group__flac__seekable__stream__decoder.html#a52a25">FLAC__SEEKABLE_STREAM_DECODER_SEEK_STATUS_OK</a>,
45
<a class="el" href="group__flac__seekable__stream__decoder.html#a52a26">FLAC__SEEKABLE_STREAM_DECODER_SEEK_STATUS_ERROR</a>
47
<tr><td nowrap align=right valign=top>enum </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a53">FLAC__SeekableStreamDecoderTellStatus</a> { <a class="el" href="group__flac__seekable__stream__decoder.html#a53a27">FLAC__SEEKABLE_STREAM_DECODER_TELL_STATUS_OK</a>,
48
<a class="el" href="group__flac__seekable__stream__decoder.html#a53a28">FLAC__SEEKABLE_STREAM_DECODER_TELL_STATUS_ERROR</a>
50
<tr><td nowrap align=right valign=top>enum </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a54">FLAC__SeekableStreamDecoderLengthStatus</a> { <a class="el" href="group__flac__seekable__stream__decoder.html#a54a29">FLAC__SEEKABLE_STREAM_DECODER_LENGTH_STATUS_OK</a>,
51
<a class="el" href="group__flac__seekable__stream__decoder.html#a54a30">FLAC__SEEKABLE_STREAM_DECODER_LENGTH_STATUS_ERROR</a>
53
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
54
<tr><td nowrap align=right valign=top><a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> * </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a13">FLAC__seekable_stream_decoder_new</a> ()</td></tr>
55
<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a14">FLAC__seekable_stream_decoder_delete</a> (<a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder)</td></tr>
56
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a15">FLAC__seekable_stream_decoder_set_md5_checking</a> (<a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, FLAC__bool value)</td></tr>
57
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a16">FLAC__seekable_stream_decoder_set_read_callback</a> (<a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, <a class="el" href="group__flac__seekable__stream__decoder.html#a5">FLAC__SeekableStreamDecoderReadCallback</a> value)</td></tr>
58
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a17">FLAC__seekable_stream_decoder_set_seek_callback</a> (<a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, <a class="el" href="group__flac__seekable__stream__decoder.html#a6">FLAC__SeekableStreamDecoderSeekCallback</a> value)</td></tr>
59
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a18">FLAC__seekable_stream_decoder_set_tell_callback</a> (<a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, <a class="el" href="group__flac__seekable__stream__decoder.html#a7">FLAC__SeekableStreamDecoderTellCallback</a> value)</td></tr>
60
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a19">FLAC__seekable_stream_decoder_set_length_callback</a> (<a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, <a class="el" href="group__flac__seekable__stream__decoder.html#a8">FLAC__SeekableStreamDecoderLengthCallback</a> value)</td></tr>
61
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a20">FLAC__seekable_stream_decoder_set_eof_callback</a> (<a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, <a class="el" href="group__flac__seekable__stream__decoder.html#a9">FLAC__SeekableStreamDecoderEofCallback</a> value)</td></tr>
62
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a21">FLAC__seekable_stream_decoder_set_write_callback</a> (<a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, <a class="el" href="group__flac__seekable__stream__decoder.html#a10">FLAC__SeekableStreamDecoderWriteCallback</a> value)</td></tr>
63
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a22">FLAC__seekable_stream_decoder_set_metadata_callback</a> (<a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, <a class="el" href="group__flac__seekable__stream__decoder.html#a11">FLAC__SeekableStreamDecoderMetadataCallback</a> value)</td></tr>
64
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a23">FLAC__seekable_stream_decoder_set_error_callback</a> (<a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, <a class="el" href="group__flac__seekable__stream__decoder.html#a12">FLAC__SeekableStreamDecoderErrorCallback</a> value)</td></tr>
65
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a24">FLAC__seekable_stream_decoder_set_client_data</a> (<a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, void *value)</td></tr>
66
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a25">FLAC__seekable_stream_decoder_set_metadata_respond</a> (<a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, <a class="el" href="group__flac__format.html#a97">FLAC__MetadataType</a> type)</td></tr>
67
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a26">FLAC__seekable_stream_decoder_set_metadata_respond_application</a> (<a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, const FLAC__byte id[4])</td></tr>
68
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a27">FLAC__seekable_stream_decoder_set_metadata_respond_all</a> (<a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder)</td></tr>
69
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a28">FLAC__seekable_stream_decoder_set_metadata_ignore</a> (<a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, <a class="el" href="group__flac__format.html#a97">FLAC__MetadataType</a> type)</td></tr>
70
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a29">FLAC__seekable_stream_decoder_set_metadata_ignore_application</a> (<a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, const FLAC__byte id[4])</td></tr>
71
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a30">FLAC__seekable_stream_decoder_set_metadata_ignore_all</a> (<a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder)</td></tr>
72
<tr><td nowrap align=right valign=top><a class="el" href="group__flac__seekable__stream__decoder.html#a50">FLAC__SeekableStreamDecoderState</a> </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a31">FLAC__seekable_stream_decoder_get_state</a> (const <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</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__seekable__stream__decoder.html#a32">FLAC__seekable_stream_decoder_get_stream_decoder_state</a> (const <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder)</td></tr>
74
<tr><td nowrap align=right valign=top>const char * </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a33">FLAC__seekable_stream_decoder_get_resolved_state_string</a> (const <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder)</td></tr>
75
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a34">FLAC__seekable_stream_decoder_get_md5_checking</a> (const <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder)</td></tr>
76
<tr><td nowrap align=right valign=top>unsigned </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a35">FLAC__seekable_stream_decoder_get_channels</a> (const <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder)</td></tr>
77
<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__seekable__stream__decoder.html#a36">FLAC__seekable_stream_decoder_get_channel_assignment</a> (const <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder)</td></tr>
78
<tr><td nowrap align=right valign=top>unsigned </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a37">FLAC__seekable_stream_decoder_get_bits_per_sample</a> (const <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder)</td></tr>
79
<tr><td nowrap align=right valign=top>unsigned </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a38">FLAC__seekable_stream_decoder_get_sample_rate</a> (const <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder)</td></tr>
80
<tr><td nowrap align=right valign=top>unsigned </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a39">FLAC__seekable_stream_decoder_get_blocksize</a> (const <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder)</td></tr>
81
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a40">FLAC__seekable_stream_decoder_get_decode_position</a> (const <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, FLAC__uint64 *position)</td></tr>
82
<tr><td nowrap align=right valign=top><a class="el" href="group__flac__seekable__stream__decoder.html#a50">FLAC__SeekableStreamDecoderState</a> </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a41">FLAC__seekable_stream_decoder_init</a> (<a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder)</td></tr>
83
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a42">FLAC__seekable_stream_decoder_finish</a> (<a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder)</td></tr>
84
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a43">FLAC__seekable_stream_decoder_flush</a> (<a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder)</td></tr>
85
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a44">FLAC__seekable_stream_decoder_reset</a> (<a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder)</td></tr>
86
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a45">FLAC__seekable_stream_decoder_process_single</a> (<a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder)</td></tr>
87
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a46">FLAC__seekable_stream_decoder_process_until_end_of_metadata</a> (<a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder)</td></tr>
88
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a47">FLAC__seekable_stream_decoder_process_until_end_of_stream</a> (<a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder)</td></tr>
89
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a48">FLAC__seekable_stream_decoder_skip_single_frame</a> (<a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder)</td></tr>
90
<tr><td nowrap align=right valign=top>FLAC__bool </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a49">FLAC__seekable_stream_decoder_seek_absolute</a> (<a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, FLAC__uint64 sample)</td></tr>
91
<tr><td colspan=2><br><h2>Variables</h2></td></tr>
92
<tr><td nowrap align=right valign=top>const char *const </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a0">FLAC__SeekableStreamDecoderStateString</a> []</td></tr>
93
<tr><td nowrap align=right valign=top>const char *const </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a1">FLAC__SeekableStreamDecoderReadStatusString</a> []</td></tr>
94
<tr><td nowrap align=right valign=top>const char *const </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a2">FLAC__SeekableStreamDecoderSeekStatusString</a> []</td></tr>
95
<tr><td nowrap align=right valign=top>const char *const </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a3">FLAC__SeekableStreamDecoderTellStatusString</a> []</td></tr>
96
<tr><td nowrap align=right valign=top>const char *const </td><td valign=bottom><a class="el" href="group__flac__seekable__stream__decoder.html#a4">FLAC__SeekableStreamDecoderLengthStatusString</a> []</td></tr>
98
<hr><a name="_details"></a><h2>Detailed Description</h2>
99
This module contains the functions which implement the seekable stream decoder.
103
The basic usage of this decoder is as follows:<ul>
104
<li>The program creates an instance of a decoder using <a class="el" href="group__flac__seekable__stream__decoder.html#a13">FLAC__seekable_stream_decoder_new</a>().<li>The program overrides the default settings and sets callbacks for reading, writing, seeking, error reporting, and metadata reporting using FLAC__seekable_stream_decoder_set_*() functions.<li>The program initializes the instance to validate the settings and prepare for decoding using <a class="el" href="group__flac__seekable__stream__decoder.html#a41">FLAC__seekable_stream_decoder_init</a>().<li>The program calls the FLAC__seekable_stream_decoder_process_*() functions to decode data, which subsequently calls the callbacks.<li>The program finishes the decoding with <a class="el" href="group__flac__seekable__stream__decoder.html#a42">FLAC__seekable_stream_decoder_finish</a>(), which flushes the input and output and resets the decoder to the uninitialized state.<li>The instance may be used again or deleted with <a class="el" href="group__flac__seekable__stream__decoder.html#a14">FLAC__seekable_stream_decoder_delete</a>().</ul>
105
The seekable stream decoder is a wrapper around the <a class="el" href="group__flac__stream__decoder.html">stream decoder</a> which also provides seeking capability. In addition to the Read/Write/Metadata/Error callbacks of the stream decoder, the user must also provide the following:
108
<li>Seek callback - This function will be called when the decoder wants to seek to an absolute position in the stream.<li>Tell callback - This function will be called when the decoder wants to know the current absolute position of the stream.<li>Length callback - This function will be called when the decoder wants to know length of the stream. The seeking algorithm currently requires that the overall stream length be known.<li>EOF callback - This function will be called when the decoder wants to know if it is at the end of the stream. This could be synthesized from the tell and length callbacks but it may be more expensive that way, so there is a separate callback for it.</ul>
109
Seeking is exposed through the <a class="el" href="group__flac__seekable__stream__decoder.html#a49">FLAC__seekable_stream_decoder_seek_absolute</a>() method. At any point after the seekable stream decoder has been initialized, the user can call this function to seek to an exact sample within the stream. Subsequently, the first time the write callback is called it will be passed a (possibly partial) block starting at that sample.
111
The seekable stream decoder also provides MD5 signature checking. If this is turned on before initialization, <a class="el" href="group__flac__seekable__stream__decoder.html#a42">FLAC__seekable_stream_decoder_finish</a>() will report when the decoded MD5 signature does not match the one stored in the STREAMINFO block. MD5 checking is automatically turned off (until the next <a class="el" href="group__flac__seekable__stream__decoder.html#a44">FLAC__seekable_stream_decoder_reset</a>()) if there is no signature in the STREAMINFO block or when a seek is attempted.
113
Make sure to read the detailed description of the <a class="el" href="group__flac__stream__decoder.html">stream decoder module</a> since the seekable stream decoder inherits much of its behavior.
117
The "set" functions may only be called when the decoder is in the state FLAC__SEEKABLE_STREAM_DECODER_UNINITIALIZED, i.e. after <a class="el" href="group__flac__seekable__stream__decoder.html#a13">FLAC__seekable_stream_decoder_new</a>() or <a class="el" href="group__flac__seekable__stream__decoder.html#a42">FLAC__seekable_stream_decoder_finish</a>(), but before <a class="el" href="group__flac__seekable__stream__decoder.html#a41">FLAC__seekable_stream_decoder_init</a>(). If this is the case they will return <code>true</code>, otherwise <code>false</code>.</dl><dl compact><dt><b>
119
<a class="el" href="group__flac__stream__decoder.html#a29">FLAC__stream_decoder_finish</a>() resets all settings to the constructor defaults, including the callbacks. </dl><hr><h2>Typedef Documentation</h2>
120
<a name="a5" doxytag="seekable_stream_decoder.h::FLAC__SeekableStreamDecoderReadCallback"></a><p>
121
<table width="100%" cellpadding="2" cellspacing="0" border="0">
124
<table cellpadding="0" cellspacing="0" border="0">
126
<td class="md" nowrap valign="top"> typedef <a class="el" href="group__flac__seekable__stream__decoder.html#a51">FLAC__SeekableStreamDecoderReadStatus</a>(* FLAC__SeekableStreamDecoderReadCallback)(const <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, FLAC__byte buffer[], unsigned *bytes, void *client_data)
131
<table cellspacing=5 cellpadding=0 border=0>
139
Signature for the read callback. See <a class="el" href="group__flac__seekable__stream__decoder.html#a16">FLAC__seekable_stream_decoder_set_read_callback</a>() and FLAC__StreamDecoderReadCallback for more info.<dl compact><dt><b>
141
<table border=0 cellspacing=2 cellpadding=0>
142
<tr><td valign=top><em>decoder</em> </td><td>
143
The decoder instance calling the callback. </td></tr>
144
<tr><td valign=top><em>buffer</em> </td><td>
145
A pointer to a location for the callee to store data to be decoded. </td></tr>
146
<tr><td valign=top><em>bytes</em> </td><td>
147
A pointer to the size of the buffer. </td></tr>
148
<tr><td valign=top><em>client_data</em> </td><td>
149
The callee's client data set through <a class="el" href="group__flac__seekable__stream__decoder.html#a24">FLAC__seekable_stream_decoder_set_client_data</a>(). </td></tr>
151
</dl><dl compact><dt><b>
152
Return values: </b><dd>
153
<table border=0 cellspacing=2 cellpadding=0>
154
<tr><td valign=top><em>FLAC__SeekableStreamDecoderReadStatus</em> </td><td>
155
The callee's return status. </td></tr>
160
<a name="a6" doxytag="seekable_stream_decoder.h::FLAC__SeekableStreamDecoderSeekCallback"></a><p>
161
<table width="100%" cellpadding="2" cellspacing="0" border="0">
164
<table cellpadding="0" cellspacing="0" border="0">
166
<td class="md" nowrap valign="top"> typedef <a class="el" href="group__flac__seekable__stream__decoder.html#a52">FLAC__SeekableStreamDecoderSeekStatus</a>(* FLAC__SeekableStreamDecoderSeekCallback)(const <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, FLAC__uint64 absolute_byte_offset, void *client_data)
171
<table cellspacing=5 cellpadding=0 border=0>
179
Signature for the seek callback. See <a class="el" href="group__flac__seekable__stream__decoder.html#a17">FLAC__seekable_stream_decoder_set_seek_callback</a>() for more info.<dl compact><dt><b>
181
<table border=0 cellspacing=2 cellpadding=0>
182
<tr><td valign=top><em>decoder</em> </td><td>
183
The decoder instance calling the callback. </td></tr>
184
<tr><td valign=top><em>absolute_byte_offset</em> </td><td>
185
The offset from the beginning of the stream to seek to. </td></tr>
186
<tr><td valign=top><em>client_data</em> </td><td>
187
The callee's client data set through <a class="el" href="group__flac__seekable__stream__decoder.html#a24">FLAC__seekable_stream_decoder_set_client_data</a>(). </td></tr>
189
</dl><dl compact><dt><b>
190
Return values: </b><dd>
191
<table border=0 cellspacing=2 cellpadding=0>
192
<tr><td valign=top><em>FLAC__SeekableStreamDecoderSeekStatus</em> </td><td>
193
The callee's return status. </td></tr>
198
<a name="a7" doxytag="seekable_stream_decoder.h::FLAC__SeekableStreamDecoderTellCallback"></a><p>
199
<table width="100%" cellpadding="2" cellspacing="0" border="0">
202
<table cellpadding="0" cellspacing="0" border="0">
204
<td class="md" nowrap valign="top"> typedef <a class="el" href="group__flac__seekable__stream__decoder.html#a53">FLAC__SeekableStreamDecoderTellStatus</a>(* FLAC__SeekableStreamDecoderTellCallback)(const <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data)
209
<table cellspacing=5 cellpadding=0 border=0>
217
Signature for the tell callback. See <a class="el" href="group__flac__seekable__stream__decoder.html#a18">FLAC__seekable_stream_decoder_set_tell_callback</a>() for more info.<dl compact><dt><b>
219
<table border=0 cellspacing=2 cellpadding=0>
220
<tr><td valign=top><em>decoder</em> </td><td>
221
The decoder instance calling the callback. </td></tr>
222
<tr><td valign=top><em>absolute_byte_offset</em> </td><td>
223
A pointer to storage for the current offset from the beginning of the stream. </td></tr>
224
<tr><td valign=top><em>client_data</em> </td><td>
225
The callee's client data set through <a class="el" href="group__flac__seekable__stream__decoder.html#a24">FLAC__seekable_stream_decoder_set_client_data</a>(). </td></tr>
227
</dl><dl compact><dt><b>
228
Return values: </b><dd>
229
<table border=0 cellspacing=2 cellpadding=0>
230
<tr><td valign=top><em>FLAC__SeekableStreamDecoderTellStatus</em> </td><td>
231
The callee's return status. </td></tr>
236
<a name="a8" doxytag="seekable_stream_decoder.h::FLAC__SeekableStreamDecoderLengthCallback"></a><p>
237
<table width="100%" cellpadding="2" cellspacing="0" border="0">
240
<table cellpadding="0" cellspacing="0" border="0">
242
<td class="md" nowrap valign="top"> typedef <a class="el" href="group__flac__seekable__stream__decoder.html#a54">FLAC__SeekableStreamDecoderLengthStatus</a>(* FLAC__SeekableStreamDecoderLengthCallback)(const <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, FLAC__uint64 *stream_length, void *client_data)
247
<table cellspacing=5 cellpadding=0 border=0>
255
Signature for the length callback. See <a class="el" href="group__flac__seekable__stream__decoder.html#a19">FLAC__seekable_stream_decoder_set_length_callback</a>() for more info.<dl compact><dt><b>
257
<table border=0 cellspacing=2 cellpadding=0>
258
<tr><td valign=top><em>decoder</em> </td><td>
259
The decoder instance calling the callback. </td></tr>
260
<tr><td valign=top><em>stream_length</em> </td><td>
261
A pointer to storage for the length of the stream in bytes. </td></tr>
262
<tr><td valign=top><em>client_data</em> </td><td>
263
The callee's client data set through <a class="el" href="group__flac__seekable__stream__decoder.html#a24">FLAC__seekable_stream_decoder_set_client_data</a>(). </td></tr>
265
</dl><dl compact><dt><b>
266
Return values: </b><dd>
267
<table border=0 cellspacing=2 cellpadding=0>
268
<tr><td valign=top><em>FLAC__SeekableStreamDecoderLengthStatus</em> </td><td>
269
The callee's return status. </td></tr>
274
<a name="a9" doxytag="seekable_stream_decoder.h::FLAC__SeekableStreamDecoderEofCallback"></a><p>
275
<table width="100%" cellpadding="2" cellspacing="0" border="0">
278
<table cellpadding="0" cellspacing="0" border="0">
280
<td class="md" nowrap valign="top"> typedef FLAC__bool(* FLAC__SeekableStreamDecoderEofCallback)(const <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, void *client_data)
285
<table cellspacing=5 cellpadding=0 border=0>
293
Signature for the EOF callback. See <a class="el" href="group__flac__seekable__stream__decoder.html#a20">FLAC__seekable_stream_decoder_set_eof_callback</a>() for more info.<dl compact><dt><b>
295
<table border=0 cellspacing=2 cellpadding=0>
296
<tr><td valign=top><em>decoder</em> </td><td>
297
The decoder instance calling the callback. </td></tr>
298
<tr><td valign=top><em>client_data</em> </td><td>
299
The callee's client data set through <a class="el" href="group__flac__seekable__stream__decoder.html#a24">FLAC__seekable_stream_decoder_set_client_data</a>(). </td></tr>
301
</dl><dl compact><dt><b>
302
Return values: </b><dd>
303
<table border=0 cellspacing=2 cellpadding=0>
304
<tr><td valign=top><em>FLAC__bool</em> </td><td>
305
<code>true</code> if the currently at the end of the stream, else <code>false</code>. </td></tr>
310
<a name="a10" doxytag="seekable_stream_decoder.h::FLAC__SeekableStreamDecoderWriteCallback"></a><p>
311
<table width="100%" cellpadding="2" cellspacing="0" border="0">
314
<table cellpadding="0" cellspacing="0" border="0">
316
<td class="md" nowrap valign="top"> typedef <a class="el" href="group__flac__stream__decoder.html#a38">FLAC__StreamDecoderWriteStatus</a>(* FLAC__SeekableStreamDecoderWriteCallback)(const <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, const <a class="el" href="structFLAC____Frame.html">FLAC__Frame</a> *frame, const FLAC__int32 * const buffer[], void *client_data)
321
<table cellspacing=5 cellpadding=0 border=0>
329
Signature for the write callback. See <a class="el" href="group__flac__seekable__stream__decoder.html#a21">FLAC__seekable_stream_decoder_set_write_callback</a>() and FLAC__StreamDecoderWriteCallback for more info.<dl compact><dt><b>
331
<table border=0 cellspacing=2 cellpadding=0>
332
<tr><td valign=top><em>decoder</em> </td><td>
333
The decoder instance calling the callback. </td></tr>
334
<tr><td valign=top><em>frame</em> </td><td>
335
The description of the decoded frame. </td></tr>
336
<tr><td valign=top><em>buffer</em> </td><td>
337
An array of pointers to decoded channels of data. </td></tr>
338
<tr><td valign=top><em>client_data</em> </td><td>
339
The callee's client data set through <a class="el" href="group__flac__seekable__stream__decoder.html#a24">FLAC__seekable_stream_decoder_set_client_data</a>(). </td></tr>
341
</dl><dl compact><dt><b>
342
Return values: </b><dd>
343
<table border=0 cellspacing=2 cellpadding=0>
344
<tr><td valign=top><em>FLAC__StreamDecoderWriteStatus</em> </td><td>
345
The callee's return status. </td></tr>
350
<a name="a11" doxytag="seekable_stream_decoder.h::FLAC__SeekableStreamDecoderMetadataCallback"></a><p>
351
<table width="100%" cellpadding="2" cellspacing="0" border="0">
354
<table cellpadding="0" cellspacing="0" border="0">
356
<td class="md" nowrap valign="top"> typedef void(* FLAC__SeekableStreamDecoderMetadataCallback)(const <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *metadata, void *client_data)
361
<table cellspacing=5 cellpadding=0 border=0>
369
Signature for the metadata callback. See <a class="el" href="group__flac__seekable__stream__decoder.html#a22">FLAC__seekable_stream_decoder_set_metadata_callback</a>() and FLAC__StreamDecoderMetadataCallback for more info.<dl compact><dt><b>
371
<table border=0 cellspacing=2 cellpadding=0>
372
<tr><td valign=top><em>decoder</em> </td><td>
373
The decoder instance calling the callback. </td></tr>
374
<tr><td valign=top><em>metadata</em> </td><td>
375
The decoded metadata block. </td></tr>
376
<tr><td valign=top><em>client_data</em> </td><td>
377
The callee's client data set through <a class="el" href="group__flac__seekable__stream__decoder.html#a24">FLAC__seekable_stream_decoder_set_client_data</a>(). </td></tr>
382
<a name="a12" doxytag="seekable_stream_decoder.h::FLAC__SeekableStreamDecoderErrorCallback"></a><p>
383
<table width="100%" cellpadding="2" cellspacing="0" border="0">
386
<table cellpadding="0" cellspacing="0" border="0">
388
<td class="md" nowrap valign="top"> typedef void(* FLAC__SeekableStreamDecoderErrorCallback)(const <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, <a class="el" href="group__flac__stream__decoder.html#a39">FLAC__StreamDecoderErrorStatus</a> status, void *client_data)
393
<table cellspacing=5 cellpadding=0 border=0>
401
Signature for the error callback. See <a class="el" href="group__flac__seekable__stream__decoder.html#a23">FLAC__seekable_stream_decoder_set_error_callback</a>() and FLAC__StreamDecoderErrorCallback for more info.<dl compact><dt><b>
403
<table border=0 cellspacing=2 cellpadding=0>
404
<tr><td valign=top><em>decoder</em> </td><td>
405
The decoder instance calling the callback. </td></tr>
406
<tr><td valign=top><em>status</em> </td><td>
407
The error encountered by the decoder. </td></tr>
408
<tr><td valign=top><em>client_data</em> </td><td>
409
The callee's client data set through <a class="el" href="group__flac__seekable__stream__decoder.html#a24">FLAC__seekable_stream_decoder_set_client_data</a>(). </td></tr>
414
<hr><h2>Enumeration Type Documentation</h2>
415
<a name="a50" doxytag="seekable_stream_decoder.h::FLAC__SeekableStreamDecoderState"></a><p>
416
<table width="100%" cellpadding="2" cellspacing="0" border="0">
419
<table cellpadding="0" cellspacing="0" border="0">
421
<td class="md" nowrap valign="top"> enum FLAC__SeekableStreamDecoderState
426
<table cellspacing=5 cellpadding=0 border=0>
434
State values for a <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a>
436
The decoder's state can be obtained by calling <a class="el" href="group__flac__seekable__stream__decoder.html#a31">FLAC__seekable_stream_decoder_get_state</a>(). <dl compact><dt><b>
437
Enumeration values:</b><dd>
438
<table border=0 cellspacing=2 cellpadding=0>
439
<tr><td valign=top><em><a name="a50a13" doxytag="FLAC__SEEKABLE_STREAM_DECODER_OK"></a><em>FLAC__SEEKABLE_STREAM_DECODER_OK</em></em> </td><td>
440
The decoder is in the normal OK state. </td></tr>
441
<tr><td valign=top><em><a name="a50a14" doxytag="FLAC__SEEKABLE_STREAM_DECODER_SEEKING"></a><em>FLAC__SEEKABLE_STREAM_DECODER_SEEKING</em></em> </td><td>
442
The decoder is in the process of seeking. </td></tr>
443
<tr><td valign=top><em><a name="a50a15" doxytag="FLAC__SEEKABLE_STREAM_DECODER_END_OF_STREAM"></a><em>FLAC__SEEKABLE_STREAM_DECODER_END_OF_STREAM</em></em> </td><td>
444
The decoder has reached the end of the stream. </td></tr>
445
<tr><td valign=top><em><a name="a50a16" doxytag="FLAC__SEEKABLE_STREAM_DECODER_MEMORY_ALLOCATION_ERROR"></a><em>FLAC__SEEKABLE_STREAM_DECODER_MEMORY_ALLOCATION_ERROR</em></em> </td><td>
446
An error occurred allocating memory. </td></tr>
447
<tr><td valign=top><em><a name="a50a17" doxytag="FLAC__SEEKABLE_STREAM_DECODER_STREAM_DECODER_ERROR"></a><em>FLAC__SEEKABLE_STREAM_DECODER_STREAM_DECODER_ERROR</em></em> </td><td>
448
An error occurred in the underlying stream decoder. </td></tr>
449
<tr><td valign=top><em><a name="a50a18" doxytag="FLAC__SEEKABLE_STREAM_DECODER_READ_ERROR"></a><em>FLAC__SEEKABLE_STREAM_DECODER_READ_ERROR</em></em> </td><td>
450
The read callback returned an error. </td></tr>
451
<tr><td valign=top><em><a name="a50a19" doxytag="FLAC__SEEKABLE_STREAM_DECODER_SEEK_ERROR"></a><em>FLAC__SEEKABLE_STREAM_DECODER_SEEK_ERROR</em></em> </td><td>
452
An error occurred while seeking or the seek or tell callback returned an error. </td></tr>
453
<tr><td valign=top><em><a name="a50a20" doxytag="FLAC__SEEKABLE_STREAM_DECODER_ALREADY_INITIALIZED"></a><em>FLAC__SEEKABLE_STREAM_DECODER_ALREADY_INITIALIZED</em></em> </td><td>
454
<a class="el" href="group__flac__seekable__stream__decoder.html#a41">FLAC__seekable_stream_decoder_init</a>() was called when the decoder was already initialized, usually because <a class="el" href="group__flac__seekable__stream__decoder.html#a42">FLAC__seekable_stream_decoder_finish</a>() was not called. </td></tr>
455
<tr><td valign=top><em><a name="a50a21" doxytag="FLAC__SEEKABLE_STREAM_DECODER_INVALID_CALLBACK"></a><em>FLAC__SEEKABLE_STREAM_DECODER_INVALID_CALLBACK</em></em> </td><td>
456
<a class="el" href="group__flac__seekable__stream__decoder.html#a41">FLAC__seekable_stream_decoder_init</a>() was called without all callbacks being set. </td></tr>
457
<tr><td valign=top><em><a name="a50a22" doxytag="FLAC__SEEKABLE_STREAM_DECODER_UNINITIALIZED"></a><em>FLAC__SEEKABLE_STREAM_DECODER_UNINITIALIZED</em></em> </td><td>
458
The decoder is in the uninitialized state. </td></tr>
464
<a name="a51" doxytag="seekable_stream_decoder.h::FLAC__SeekableStreamDecoderReadStatus"></a><p>
465
<table width="100%" cellpadding="2" cellspacing="0" border="0">
468
<table cellpadding="0" cellspacing="0" border="0">
470
<td class="md" nowrap valign="top"> enum FLAC__SeekableStreamDecoderReadStatus
475
<table cellspacing=5 cellpadding=0 border=0>
483
Return values for the <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> read callback. <dl compact><dt><b>
484
Enumeration values:</b><dd>
485
<table border=0 cellspacing=2 cellpadding=0>
486
<tr><td valign=top><em><a name="a51a23" doxytag="FLAC__SEEKABLE_STREAM_DECODER_READ_STATUS_OK"></a><em>FLAC__SEEKABLE_STREAM_DECODER_READ_STATUS_OK</em></em> </td><td>
487
The read was OK and decoding can continue. </td></tr>
488
<tr><td valign=top><em><a name="a51a24" doxytag="FLAC__SEEKABLE_STREAM_DECODER_READ_STATUS_ERROR"></a><em>FLAC__SEEKABLE_STREAM_DECODER_READ_STATUS_ERROR</em></em> </td><td>
489
An unrecoverable error occurred. The decoder will return from the process call. </td></tr>
495
<a name="a52" doxytag="seekable_stream_decoder.h::FLAC__SeekableStreamDecoderSeekStatus"></a><p>
496
<table width="100%" cellpadding="2" cellspacing="0" border="0">
499
<table cellpadding="0" cellspacing="0" border="0">
501
<td class="md" nowrap valign="top"> enum FLAC__SeekableStreamDecoderSeekStatus
506
<table cellspacing=5 cellpadding=0 border=0>
514
Return values for the <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> seek callback. <dl compact><dt><b>
515
Enumeration values:</b><dd>
516
<table border=0 cellspacing=2 cellpadding=0>
517
<tr><td valign=top><em><a name="a52a25" doxytag="FLAC__SEEKABLE_STREAM_DECODER_SEEK_STATUS_OK"></a><em>FLAC__SEEKABLE_STREAM_DECODER_SEEK_STATUS_OK</em></em> </td><td>
518
The seek was OK and decoding can continue. </td></tr>
519
<tr><td valign=top><em><a name="a52a26" doxytag="FLAC__SEEKABLE_STREAM_DECODER_SEEK_STATUS_ERROR"></a><em>FLAC__SEEKABLE_STREAM_DECODER_SEEK_STATUS_ERROR</em></em> </td><td>
520
An unrecoverable error occurred. The decoder will return from the process call. </td></tr>
526
<a name="a53" doxytag="seekable_stream_decoder.h::FLAC__SeekableStreamDecoderTellStatus"></a><p>
527
<table width="100%" cellpadding="2" cellspacing="0" border="0">
530
<table cellpadding="0" cellspacing="0" border="0">
532
<td class="md" nowrap valign="top"> enum FLAC__SeekableStreamDecoderTellStatus
537
<table cellspacing=5 cellpadding=0 border=0>
545
Return values for the <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> tell callback. <dl compact><dt><b>
546
Enumeration values:</b><dd>
547
<table border=0 cellspacing=2 cellpadding=0>
548
<tr><td valign=top><em><a name="a53a27" doxytag="FLAC__SEEKABLE_STREAM_DECODER_TELL_STATUS_OK"></a><em>FLAC__SEEKABLE_STREAM_DECODER_TELL_STATUS_OK</em></em> </td><td>
549
The tell was OK and decoding can continue. </td></tr>
550
<tr><td valign=top><em><a name="a53a28" doxytag="FLAC__SEEKABLE_STREAM_DECODER_TELL_STATUS_ERROR"></a><em>FLAC__SEEKABLE_STREAM_DECODER_TELL_STATUS_ERROR</em></em> </td><td>
551
An unrecoverable error occurred. The decoder will return from the process call. </td></tr>
557
<a name="a54" doxytag="seekable_stream_decoder.h::FLAC__SeekableStreamDecoderLengthStatus"></a><p>
558
<table width="100%" cellpadding="2" cellspacing="0" border="0">
561
<table cellpadding="0" cellspacing="0" border="0">
563
<td class="md" nowrap valign="top"> enum FLAC__SeekableStreamDecoderLengthStatus
568
<table cellspacing=5 cellpadding=0 border=0>
576
Return values for the <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> length callback. <dl compact><dt><b>
577
Enumeration values:</b><dd>
578
<table border=0 cellspacing=2 cellpadding=0>
579
<tr><td valign=top><em><a name="a54a29" doxytag="FLAC__SEEKABLE_STREAM_DECODER_LENGTH_STATUS_OK"></a><em>FLAC__SEEKABLE_STREAM_DECODER_LENGTH_STATUS_OK</em></em> </td><td>
580
The length call was OK and decoding can continue. </td></tr>
581
<tr><td valign=top><em><a name="a54a30" doxytag="FLAC__SEEKABLE_STREAM_DECODER_LENGTH_STATUS_ERROR"></a><em>FLAC__SEEKABLE_STREAM_DECODER_LENGTH_STATUS_ERROR</em></em> </td><td>
582
An unrecoverable error occurred. The decoder will return from the process call. </td></tr>
588
<hr><h2>Function Documentation</h2>
589
<a name="a13" doxytag="seekable_stream_decoder.h::FLAC__seekable_stream_decoder_new"></a><p>
590
<table width="100%" cellpadding="2" cellspacing="0" border="0">
593
<table cellpadding="0" cellspacing="0" border="0">
595
<td class="md" nowrap valign="top"> <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a>* FLAC__seekable_stream_decoder_new </td>
596
<td class="md" valign="top">( </td>
597
<td class="mdname1" valign="top" nowrap> </td>
598
<td class="md" valign="top">) </td>
599
<td class="md" nowrap></td>
606
<table cellspacing=5 cellpadding=0 border=0>
614
Create a new seekable stream decoder instance. The instance is created with default settings; see the individual FLAC__seekable_stream_decoder_set_*() functions for each setting's default.<dl compact><dt><b>
615
Return values: </b><dd>
616
<table border=0 cellspacing=2 cellpadding=0>
617
<tr><td valign=top><em><a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a></em> </td><td>
618
* <code>NULL</code> if there was an error allocating memory, else the new instance. </td></tr>
623
<a name="a14" doxytag="seekable_stream_decoder.h::FLAC__seekable_stream_decoder_delete"></a><p>
624
<table width="100%" cellpadding="2" cellspacing="0" border="0">
627
<table cellpadding="0" cellspacing="0" border="0">
629
<td class="md" nowrap valign="top"> void FLAC__seekable_stream_decoder_delete </td>
630
<td class="md" valign="top">( </td>
631
<td class="md" nowrap valign="top"><a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> * </td>
632
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
633
<td class="md" valign="top">) </td>
634
<td class="md" nowrap></td>
641
<table cellspacing=5 cellpadding=0 border=0>
649
Free a decoder instance. Deletes the object pointed to by <em>decoder</em>.<dl compact><dt><b>
651
<table border=0 cellspacing=2 cellpadding=0>
652
<tr><td valign=top><em>decoder</em> </td><td>
653
A pointer to an existing decoder. </td></tr>
655
</dl><dl compact><dt><b>
657
<div class="fragment"><pre>decoder != NULL
658
</pre></div> </dl> </td>
661
<a name="a15" doxytag="seekable_stream_decoder.h::FLAC__seekable_stream_decoder_set_md5_checking"></a><p>
662
<table width="100%" cellpadding="2" cellspacing="0" border="0">
665
<table cellpadding="0" cellspacing="0" border="0">
667
<td class="md" nowrap valign="top"> FLAC__bool FLAC__seekable_stream_decoder_set_md5_checking </td>
668
<td class="md" valign="top">( </td>
669
<td class="md" nowrap valign="top"><a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> * </td>
670
<td class="mdname" nowrap> <em>decoder</em>, </td>
675
<td class="md" nowrap>FLAC__bool </td>
676
<td class="mdname" nowrap> <em>value</em></td>
680
<td class="md">) </td>
681
<td class="md" colspan="2"></td>
688
<table cellspacing=5 cellpadding=0 border=0>
696
Set the "MD5 signature checking" flag. If <code>true</code>, the decoder will compute the MD5 signature of the unencoded audio data while decoding and compare it to the signature from the STREAMINFO block, if it exists, during <a class="el" href="group__flac__seekable__stream__decoder.html#a42">FLAC__seekable_stream_decoder_finish</a>().
698
MD5 signature checking will be turned off (until the next <a class="el" href="group__flac__seekable__stream__decoder.html#a44">FLAC__seekable_stream_decoder_reset</a>()) if there is no signature in the STREAMINFO block or when a seek is attempted.<dl compact><dt><b>
699
Default Value:</b><dd>
700
<code>false</code> </dl><dl compact><dt><b>
702
<table border=0 cellspacing=2 cellpadding=0>
703
<tr><td valign=top><em>decoder</em> </td><td>
704
A decoder instance to set. </td></tr>
705
<tr><td valign=top><em>value</em> </td><td>
706
Flag value (see above). </td></tr>
708
</dl><dl compact><dt><b>
710
<div class="fragment"><pre>decoder != NULL
711
</pre></div> </dl><dl compact><dt><b>
712
Return values: </b><dd>
713
<table border=0 cellspacing=2 cellpadding=0>
714
<tr><td valign=top><em>FLAC__bool</em> </td><td>
715
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
720
<a name="a16" doxytag="seekable_stream_decoder.h::FLAC__seekable_stream_decoder_set_read_callback"></a><p>
721
<table width="100%" cellpadding="2" cellspacing="0" border="0">
724
<table cellpadding="0" cellspacing="0" border="0">
726
<td class="md" nowrap valign="top"> FLAC__bool FLAC__seekable_stream_decoder_set_read_callback </td>
727
<td class="md" valign="top">( </td>
728
<td class="md" nowrap valign="top"><a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> * </td>
729
<td class="mdname" nowrap> <em>decoder</em>, </td>
734
<td class="md" nowrap><a class="el" href="group__flac__seekable__stream__decoder.html#a5">FLAC__SeekableStreamDecoderReadCallback</a> </td>
735
<td class="mdname" nowrap> <em>value</em></td>
739
<td class="md">) </td>
740
<td class="md" colspan="2"></td>
747
<table cellspacing=5 cellpadding=0 border=0>
755
Set the read callback. This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a10">FLAC__stream_decoder_set_read_callback</a>().
759
The callback is mandatory and must be set before initialization.</dl><dl compact><dt><b>
760
Default Value:</b><dd>
761
<code>NULL</code> </dl><dl compact><dt><b>
763
<table border=0 cellspacing=2 cellpadding=0>
764
<tr><td valign=top><em>decoder</em> </td><td>
765
A decoder instance to set. </td></tr>
766
<tr><td valign=top><em>value</em> </td><td>
767
See above. </td></tr>
769
</dl><dl compact><dt><b>
771
<div class="fragment"><pre>decoder != NULL
772
</pre></div> <div class="fragment"><pre>value != NULL
773
</pre></div> </dl><dl compact><dt><b>
774
Return values: </b><dd>
775
<table border=0 cellspacing=2 cellpadding=0>
776
<tr><td valign=top><em>FLAC__bool</em> </td><td>
777
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
782
<a name="a17" doxytag="seekable_stream_decoder.h::FLAC__seekable_stream_decoder_set_seek_callback"></a><p>
783
<table width="100%" cellpadding="2" cellspacing="0" border="0">
786
<table cellpadding="0" cellspacing="0" border="0">
788
<td class="md" nowrap valign="top"> FLAC__bool FLAC__seekable_stream_decoder_set_seek_callback </td>
789
<td class="md" valign="top">( </td>
790
<td class="md" nowrap valign="top"><a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> * </td>
791
<td class="mdname" nowrap> <em>decoder</em>, </td>
796
<td class="md" nowrap><a class="el" href="group__flac__seekable__stream__decoder.html#a6">FLAC__SeekableStreamDecoderSeekCallback</a> </td>
797
<td class="mdname" nowrap> <em>value</em></td>
801
<td class="md">) </td>
802
<td class="md" colspan="2"></td>
809
<table cellspacing=5 cellpadding=0 border=0>
817
Set the seek callback. The supplied function will be called when the decoder needs to seek the input stream. The decoder will pass the absolute byte offset to seek to, 0 meaning the beginning of the stream.
821
The callback is mandatory and must be set before initialization.</dl><dl compact><dt><b>
822
Default Value:</b><dd>
823
<code>NULL</code> </dl><dl compact><dt><b>
825
<table border=0 cellspacing=2 cellpadding=0>
826
<tr><td valign=top><em>decoder</em> </td><td>
827
A decoder instance to set. </td></tr>
828
<tr><td valign=top><em>value</em> </td><td>
829
See above. </td></tr>
831
</dl><dl compact><dt><b>
833
<div class="fragment"><pre>decoder != NULL
834
</pre></div> <div class="fragment"><pre>value != NULL
835
</pre></div> </dl><dl compact><dt><b>
836
Return values: </b><dd>
837
<table border=0 cellspacing=2 cellpadding=0>
838
<tr><td valign=top><em>FLAC__bool</em> </td><td>
839
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
844
<a name="a18" doxytag="seekable_stream_decoder.h::FLAC__seekable_stream_decoder_set_tell_callback"></a><p>
845
<table width="100%" cellpadding="2" cellspacing="0" border="0">
848
<table cellpadding="0" cellspacing="0" border="0">
850
<td class="md" nowrap valign="top"> FLAC__bool FLAC__seekable_stream_decoder_set_tell_callback </td>
851
<td class="md" valign="top">( </td>
852
<td class="md" nowrap valign="top"><a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> * </td>
853
<td class="mdname" nowrap> <em>decoder</em>, </td>
858
<td class="md" nowrap><a class="el" href="group__flac__seekable__stream__decoder.html#a7">FLAC__SeekableStreamDecoderTellCallback</a> </td>
859
<td class="mdname" nowrap> <em>value</em></td>
863
<td class="md">) </td>
864
<td class="md" colspan="2"></td>
871
<table cellspacing=5 cellpadding=0 border=0>
879
Set the tell callback. The supplied function will be called when the decoder wants to know the current position of the stream. The callback should return the byte offset from the beginning of the stream.
883
The callback is mandatory and must be set before initialization.</dl><dl compact><dt><b>
884
Default Value:</b><dd>
885
<code>NULL</code> </dl><dl compact><dt><b>
887
<table border=0 cellspacing=2 cellpadding=0>
888
<tr><td valign=top><em>decoder</em> </td><td>
889
A decoder instance to set. </td></tr>
890
<tr><td valign=top><em>value</em> </td><td>
891
See above. </td></tr>
893
</dl><dl compact><dt><b>
895
<div class="fragment"><pre>decoder != NULL
896
</pre></div> <div class="fragment"><pre>value != NULL
897
</pre></div> </dl><dl compact><dt><b>
898
Return values: </b><dd>
899
<table border=0 cellspacing=2 cellpadding=0>
900
<tr><td valign=top><em>FLAC__bool</em> </td><td>
901
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
906
<a name="a19" doxytag="seekable_stream_decoder.h::FLAC__seekable_stream_decoder_set_length_callback"></a><p>
907
<table width="100%" cellpadding="2" cellspacing="0" border="0">
910
<table cellpadding="0" cellspacing="0" border="0">
912
<td class="md" nowrap valign="top"> FLAC__bool FLAC__seekable_stream_decoder_set_length_callback </td>
913
<td class="md" valign="top">( </td>
914
<td class="md" nowrap valign="top"><a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> * </td>
915
<td class="mdname" nowrap> <em>decoder</em>, </td>
920
<td class="md" nowrap><a class="el" href="group__flac__seekable__stream__decoder.html#a8">FLAC__SeekableStreamDecoderLengthCallback</a> </td>
921
<td class="mdname" nowrap> <em>value</em></td>
925
<td class="md">) </td>
926
<td class="md" colspan="2"></td>
933
<table cellspacing=5 cellpadding=0 border=0>
941
Set the length callback. The supplied function will be called when the decoder wants to know the total length of the stream in bytes.
945
The callback is mandatory and must be set before initialization.</dl><dl compact><dt><b>
946
Default Value:</b><dd>
947
<code>NULL</code> </dl><dl compact><dt><b>
949
<table border=0 cellspacing=2 cellpadding=0>
950
<tr><td valign=top><em>decoder</em> </td><td>
951
A decoder instance to set. </td></tr>
952
<tr><td valign=top><em>value</em> </td><td>
953
See above. </td></tr>
955
</dl><dl compact><dt><b>
957
<div class="fragment"><pre>decoder != NULL
958
</pre></div> <div class="fragment"><pre>value != NULL
959
</pre></div> </dl><dl compact><dt><b>
960
Return values: </b><dd>
961
<table border=0 cellspacing=2 cellpadding=0>
962
<tr><td valign=top><em>FLAC__bool</em> </td><td>
963
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
968
<a name="a20" doxytag="seekable_stream_decoder.h::FLAC__seekable_stream_decoder_set_eof_callback"></a><p>
969
<table width="100%" cellpadding="2" cellspacing="0" border="0">
972
<table cellpadding="0" cellspacing="0" border="0">
974
<td class="md" nowrap valign="top"> FLAC__bool FLAC__seekable_stream_decoder_set_eof_callback </td>
975
<td class="md" valign="top">( </td>
976
<td class="md" nowrap valign="top"><a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> * </td>
977
<td class="mdname" nowrap> <em>decoder</em>, </td>
982
<td class="md" nowrap><a class="el" href="group__flac__seekable__stream__decoder.html#a9">FLAC__SeekableStreamDecoderEofCallback</a> </td>
983
<td class="mdname" nowrap> <em>value</em></td>
987
<td class="md">) </td>
988
<td class="md" colspan="2"></td>
995
<table cellspacing=5 cellpadding=0 border=0>
1003
Set the eof callback. The supplied function will be called when the decoder needs to know if the end of the stream has been reached.
1007
The callback is mandatory and must be set before initialization.</dl><dl compact><dt><b>
1008
Default Value:</b><dd>
1009
<code>NULL</code> </dl><dl compact><dt><b>
1010
Parameters: </b><dd>
1011
<table border=0 cellspacing=2 cellpadding=0>
1012
<tr><td valign=top><em>decoder</em> </td><td>
1013
A decoder instance to set. </td></tr>
1014
<tr><td valign=top><em>value</em> </td><td>
1015
See above. </td></tr>
1017
</dl><dl compact><dt><b>
1019
<div class="fragment"><pre>decoder != NULL
1020
</pre></div> <div class="fragment"><pre>value != NULL
1021
</pre></div> </dl><dl compact><dt><b>
1022
Return values: </b><dd>
1023
<table border=0 cellspacing=2 cellpadding=0>
1024
<tr><td valign=top><em>FLAC__bool</em> </td><td>
1025
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
1030
<a name="a21" doxytag="seekable_stream_decoder.h::FLAC__seekable_stream_decoder_set_write_callback"></a><p>
1031
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1034
<table cellpadding="0" cellspacing="0" border="0">
1036
<td class="md" nowrap valign="top"> FLAC__bool FLAC__seekable_stream_decoder_set_write_callback </td>
1037
<td class="md" valign="top">( </td>
1038
<td class="md" nowrap valign="top"><a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> * </td>
1039
<td class="mdname" nowrap> <em>decoder</em>, </td>
1044
<td class="md" nowrap><a class="el" href="group__flac__seekable__stream__decoder.html#a10">FLAC__SeekableStreamDecoderWriteCallback</a> </td>
1045
<td class="mdname" nowrap> <em>value</em></td>
1049
<td class="md">) </td>
1050
<td class="md" colspan="2"></td>
1057
<table cellspacing=5 cellpadding=0 border=0>
1065
Set the write callback. This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a11">FLAC__stream_decoder_set_write_callback</a>().
1069
The callback is mandatory and must be set before initialization.</dl><dl compact><dt><b>
1070
Default Value:</b><dd>
1071
<code>NULL</code> </dl><dl compact><dt><b>
1072
Parameters: </b><dd>
1073
<table border=0 cellspacing=2 cellpadding=0>
1074
<tr><td valign=top><em>decoder</em> </td><td>
1075
A decoder instance to set. </td></tr>
1076
<tr><td valign=top><em>value</em> </td><td>
1077
See above. </td></tr>
1079
</dl><dl compact><dt><b>
1081
<div class="fragment"><pre>decoder != NULL
1082
</pre></div> <div class="fragment"><pre>value != NULL
1083
</pre></div> </dl><dl compact><dt><b>
1084
Return values: </b><dd>
1085
<table border=0 cellspacing=2 cellpadding=0>
1086
<tr><td valign=top><em>FLAC__bool</em> </td><td>
1087
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
1092
<a name="a22" doxytag="seekable_stream_decoder.h::FLAC__seekable_stream_decoder_set_metadata_callback"></a><p>
1093
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1096
<table cellpadding="0" cellspacing="0" border="0">
1098
<td class="md" nowrap valign="top"> FLAC__bool FLAC__seekable_stream_decoder_set_metadata_callback </td>
1099
<td class="md" valign="top">( </td>
1100
<td class="md" nowrap valign="top"><a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> * </td>
1101
<td class="mdname" nowrap> <em>decoder</em>, </td>
1106
<td class="md" nowrap><a class="el" href="group__flac__seekable__stream__decoder.html#a11">FLAC__SeekableStreamDecoderMetadataCallback</a> </td>
1107
<td class="mdname" nowrap> <em>value</em></td>
1111
<td class="md">) </td>
1112
<td class="md" colspan="2"></td>
1119
<table cellspacing=5 cellpadding=0 border=0>
1127
Set the metadata callback. This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a12">FLAC__stream_decoder_set_metadata_callback</a>().
1131
The callback is mandatory and must be set before initialization.</dl><dl compact><dt><b>
1132
Default Value:</b><dd>
1133
<code>NULL</code> </dl><dl compact><dt><b>
1134
Parameters: </b><dd>
1135
<table border=0 cellspacing=2 cellpadding=0>
1136
<tr><td valign=top><em>decoder</em> </td><td>
1137
A decoder instance to set. </td></tr>
1138
<tr><td valign=top><em>value</em> </td><td>
1139
See above. </td></tr>
1141
</dl><dl compact><dt><b>
1143
<div class="fragment"><pre>decoder != NULL
1144
</pre></div> <div class="fragment"><pre>value != NULL
1145
</pre></div> </dl><dl compact><dt><b>
1146
Return values: </b><dd>
1147
<table border=0 cellspacing=2 cellpadding=0>
1148
<tr><td valign=top><em>FLAC__bool</em> </td><td>
1149
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
1154
<a name="a23" doxytag="seekable_stream_decoder.h::FLAC__seekable_stream_decoder_set_error_callback"></a><p>
1155
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1158
<table cellpadding="0" cellspacing="0" border="0">
1160
<td class="md" nowrap valign="top"> FLAC__bool FLAC__seekable_stream_decoder_set_error_callback </td>
1161
<td class="md" valign="top">( </td>
1162
<td class="md" nowrap valign="top"><a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> * </td>
1163
<td class="mdname" nowrap> <em>decoder</em>, </td>
1168
<td class="md" nowrap><a class="el" href="group__flac__seekable__stream__decoder.html#a12">FLAC__SeekableStreamDecoderErrorCallback</a> </td>
1169
<td class="mdname" nowrap> <em>value</em></td>
1173
<td class="md">) </td>
1174
<td class="md" colspan="2"></td>
1181
<table cellspacing=5 cellpadding=0 border=0>
1189
Set the error callback. This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a13">FLAC__stream_decoder_set_error_callback</a>().
1193
The callback is mandatory and must be set before initialization.</dl><dl compact><dt><b>
1194
Default Value:</b><dd>
1195
<code>NULL</code> </dl><dl compact><dt><b>
1196
Parameters: </b><dd>
1197
<table border=0 cellspacing=2 cellpadding=0>
1198
<tr><td valign=top><em>decoder</em> </td><td>
1199
A decoder instance to set. </td></tr>
1200
<tr><td valign=top><em>value</em> </td><td>
1201
See above. </td></tr>
1203
</dl><dl compact><dt><b>
1205
<div class="fragment"><pre>decoder != NULL
1206
</pre></div> <div class="fragment"><pre>value != NULL
1207
</pre></div> </dl><dl compact><dt><b>
1208
Return values: </b><dd>
1209
<table border=0 cellspacing=2 cellpadding=0>
1210
<tr><td valign=top><em>FLAC__bool</em> </td><td>
1211
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
1216
<a name="a24" doxytag="seekable_stream_decoder.h::FLAC__seekable_stream_decoder_set_client_data"></a><p>
1217
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1220
<table cellpadding="0" cellspacing="0" border="0">
1222
<td class="md" nowrap valign="top"> FLAC__bool FLAC__seekable_stream_decoder_set_client_data </td>
1223
<td class="md" valign="top">( </td>
1224
<td class="md" nowrap valign="top"><a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> * </td>
1225
<td class="mdname" nowrap> <em>decoder</em>, </td>
1230
<td class="md" nowrap>void * </td>
1231
<td class="mdname" nowrap> <em>value</em></td>
1235
<td class="md">) </td>
1236
<td class="md" colspan="2"></td>
1243
<table cellspacing=5 cellpadding=0 border=0>
1251
Set the client data to be passed back to callbacks. This value will be supplied to callbacks in their <em>client_data</em> argument.<dl compact><dt><b>
1252
Default Value:</b><dd>
1253
<code>NULL</code> </dl><dl compact><dt><b>
1254
Parameters: </b><dd>
1255
<table border=0 cellspacing=2 cellpadding=0>
1256
<tr><td valign=top><em>decoder</em> </td><td>
1257
A decoder instance to set. </td></tr>
1258
<tr><td valign=top><em>value</em> </td><td>
1259
See above. </td></tr>
1261
</dl><dl compact><dt><b>
1263
<div class="fragment"><pre>decoder != NULL
1264
</pre></div> </dl><dl compact><dt><b>
1265
Return values: </b><dd>
1266
<table border=0 cellspacing=2 cellpadding=0>
1267
<tr><td valign=top><em>FLAC__bool</em> </td><td>
1268
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
1273
<a name="a25" doxytag="seekable_stream_decoder.h::FLAC__seekable_stream_decoder_set_metadata_respond"></a><p>
1274
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1277
<table cellpadding="0" cellspacing="0" border="0">
1279
<td class="md" nowrap valign="top"> FLAC__bool FLAC__seekable_stream_decoder_set_metadata_respond </td>
1280
<td class="md" valign="top">( </td>
1281
<td class="md" nowrap valign="top"><a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> * </td>
1282
<td class="mdname" nowrap> <em>decoder</em>, </td>
1287
<td class="md" nowrap><a class="el" href="group__flac__format.html#a97">FLAC__MetadataType</a> </td>
1288
<td class="mdname" nowrap> <em>type</em></td>
1292
<td class="md">) </td>
1293
<td class="md" colspan="2"></td>
1300
<table cellspacing=5 cellpadding=0 border=0>
1308
This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a15">FLAC__stream_decoder_set_metadata_respond</a>().<dl compact><dt><b>
1309
Default Value:</b><dd>
1310
By default, only the <code>STREAMINFO</code> block is returned via the metadata callback. </dl><dl compact><dt><b>
1311
Parameters: </b><dd>
1312
<table border=0 cellspacing=2 cellpadding=0>
1313
<tr><td valign=top><em>decoder</em> </td><td>
1314
A decoder instance to set. </td></tr>
1315
<tr><td valign=top><em>type</em> </td><td>
1316
See above. </td></tr>
1318
</dl><dl compact><dt><b>
1320
<div class="fragment"><pre>decoder != NULL
1321
</pre></div> <em>type</em> is valid </dl><dl compact><dt><b>
1322
Return values: </b><dd>
1323
<table border=0 cellspacing=2 cellpadding=0>
1324
<tr><td valign=top><em>FLAC__bool</em> </td><td>
1325
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
1330
<a name="a26" doxytag="seekable_stream_decoder.h::FLAC__seekable_stream_decoder_set_metadata_respond_application"></a><p>
1331
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1334
<table cellpadding="0" cellspacing="0" border="0">
1336
<td class="md" nowrap valign="top"> FLAC__bool FLAC__seekable_stream_decoder_set_metadata_respond_application </td>
1337
<td class="md" valign="top">( </td>
1338
<td class="md" nowrap valign="top"><a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> * </td>
1339
<td class="mdname" nowrap> <em>decoder</em>, </td>
1344
<td class="md" nowrap>const FLAC__byte </td>
1345
<td class="mdname" nowrap> <em>id</em>[4]</td>
1349
<td class="md">) </td>
1350
<td class="md" colspan="2"></td>
1357
<table cellspacing=5 cellpadding=0 border=0>
1365
This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a16">FLAC__stream_decoder_set_metadata_respond_application</a>().<dl compact><dt><b>
1366
Default Value:</b><dd>
1367
By default, only the <code>STREAMINFO</code> block is returned via the metadata callback. </dl><dl compact><dt><b>
1368
Parameters: </b><dd>
1369
<table border=0 cellspacing=2 cellpadding=0>
1370
<tr><td valign=top><em>decoder</em> </td><td>
1371
A decoder instance to set. </td></tr>
1372
<tr><td valign=top><em>id</em> </td><td>
1373
See above. </td></tr>
1375
</dl><dl compact><dt><b>
1377
<div class="fragment"><pre>decoder != NULL
1378
</pre></div> <div class="fragment"><pre>id != NULL
1379
</pre></div> </dl><dl compact><dt><b>
1380
Return values: </b><dd>
1381
<table border=0 cellspacing=2 cellpadding=0>
1382
<tr><td valign=top><em>FLAC__bool</em> </td><td>
1383
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
1388
<a name="a27" doxytag="seekable_stream_decoder.h::FLAC__seekable_stream_decoder_set_metadata_respond_all"></a><p>
1389
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1392
<table cellpadding="0" cellspacing="0" border="0">
1394
<td class="md" nowrap valign="top"> FLAC__bool FLAC__seekable_stream_decoder_set_metadata_respond_all </td>
1395
<td class="md" valign="top">( </td>
1396
<td class="md" nowrap valign="top"><a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> * </td>
1397
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1398
<td class="md" valign="top">) </td>
1399
<td class="md" nowrap></td>
1406
<table cellspacing=5 cellpadding=0 border=0>
1414
This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a17">FLAC__stream_decoder_set_metadata_respond_all</a>().<dl compact><dt><b>
1415
Default Value:</b><dd>
1416
By default, only the <code>STREAMINFO</code> block is returned via the metadata callback. </dl><dl compact><dt><b>
1417
Parameters: </b><dd>
1418
<table border=0 cellspacing=2 cellpadding=0>
1419
<tr><td valign=top><em>decoder</em> </td><td>
1420
A decoder instance to set. </td></tr>
1422
</dl><dl compact><dt><b>
1424
<div class="fragment"><pre>decoder != NULL
1425
</pre></div> </dl><dl compact><dt><b>
1426
Return values: </b><dd>
1427
<table border=0 cellspacing=2 cellpadding=0>
1428
<tr><td valign=top><em>FLAC__bool</em> </td><td>
1429
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
1434
<a name="a28" doxytag="seekable_stream_decoder.h::FLAC__seekable_stream_decoder_set_metadata_ignore"></a><p>
1435
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1438
<table cellpadding="0" cellspacing="0" border="0">
1440
<td class="md" nowrap valign="top"> FLAC__bool FLAC__seekable_stream_decoder_set_metadata_ignore </td>
1441
<td class="md" valign="top">( </td>
1442
<td class="md" nowrap valign="top"><a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> * </td>
1443
<td class="mdname" nowrap> <em>decoder</em>, </td>
1448
<td class="md" nowrap><a class="el" href="group__flac__format.html#a97">FLAC__MetadataType</a> </td>
1449
<td class="mdname" nowrap> <em>type</em></td>
1453
<td class="md">) </td>
1454
<td class="md" colspan="2"></td>
1461
<table cellspacing=5 cellpadding=0 border=0>
1469
This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a18">FLAC__stream_decoder_set_metadata_ignore</a>().<dl compact><dt><b>
1470
Default Value:</b><dd>
1471
By default, only the <code>STREAMINFO</code> block is returned via the metadata callback. </dl><dl compact><dt><b>
1472
Parameters: </b><dd>
1473
<table border=0 cellspacing=2 cellpadding=0>
1474
<tr><td valign=top><em>decoder</em> </td><td>
1475
A decoder instance to set. </td></tr>
1476
<tr><td valign=top><em>type</em> </td><td>
1477
See above. </td></tr>
1479
</dl><dl compact><dt><b>
1481
<div class="fragment"><pre>decoder != NULL
1482
</pre></div> <em>type</em> is valid </dl><dl compact><dt><b>
1483
Return values: </b><dd>
1484
<table border=0 cellspacing=2 cellpadding=0>
1485
<tr><td valign=top><em>FLAC__bool</em> </td><td>
1486
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
1491
<a name="a29" doxytag="seekable_stream_decoder.h::FLAC__seekable_stream_decoder_set_metadata_ignore_application"></a><p>
1492
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1495
<table cellpadding="0" cellspacing="0" border="0">
1497
<td class="md" nowrap valign="top"> FLAC__bool FLAC__seekable_stream_decoder_set_metadata_ignore_application </td>
1498
<td class="md" valign="top">( </td>
1499
<td class="md" nowrap valign="top"><a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> * </td>
1500
<td class="mdname" nowrap> <em>decoder</em>, </td>
1505
<td class="md" nowrap>const FLAC__byte </td>
1506
<td class="mdname" nowrap> <em>id</em>[4]</td>
1510
<td class="md">) </td>
1511
<td class="md" colspan="2"></td>
1518
<table cellspacing=5 cellpadding=0 border=0>
1526
This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a19">FLAC__stream_decoder_set_metadata_ignore_application</a>().<dl compact><dt><b>
1527
Default Value:</b><dd>
1528
By default, only the <code>STREAMINFO</code> block is returned via the metadata callback. </dl><dl compact><dt><b>
1529
Parameters: </b><dd>
1530
<table border=0 cellspacing=2 cellpadding=0>
1531
<tr><td valign=top><em>decoder</em> </td><td>
1532
A decoder instance to set. </td></tr>
1533
<tr><td valign=top><em>id</em> </td><td>
1534
See above. </td></tr>
1536
</dl><dl compact><dt><b>
1538
<div class="fragment"><pre>decoder != NULL
1539
</pre></div> <div class="fragment"><pre>id != NULL
1540
</pre></div> </dl><dl compact><dt><b>
1541
Return values: </b><dd>
1542
<table border=0 cellspacing=2 cellpadding=0>
1543
<tr><td valign=top><em>FLAC__bool</em> </td><td>
1544
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
1549
<a name="a30" doxytag="seekable_stream_decoder.h::FLAC__seekable_stream_decoder_set_metadata_ignore_all"></a><p>
1550
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1553
<table cellpadding="0" cellspacing="0" border="0">
1555
<td class="md" nowrap valign="top"> FLAC__bool FLAC__seekable_stream_decoder_set_metadata_ignore_all </td>
1556
<td class="md" valign="top">( </td>
1557
<td class="md" nowrap valign="top"><a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> * </td>
1558
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1559
<td class="md" valign="top">) </td>
1560
<td class="md" nowrap></td>
1567
<table cellspacing=5 cellpadding=0 border=0>
1575
This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a20">FLAC__stream_decoder_set_metadata_ignore_all</a>().<dl compact><dt><b>
1576
Default Value:</b><dd>
1577
By default, only the <code>STREAMINFO</code> block is returned via the metadata callback. </dl><dl compact><dt><b>
1578
Parameters: </b><dd>
1579
<table border=0 cellspacing=2 cellpadding=0>
1580
<tr><td valign=top><em>decoder</em> </td><td>
1581
A decoder instance to set. </td></tr>
1583
</dl><dl compact><dt><b>
1585
<div class="fragment"><pre>decoder != NULL
1586
</pre></div> </dl><dl compact><dt><b>
1587
Return values: </b><dd>
1588
<table border=0 cellspacing=2 cellpadding=0>
1589
<tr><td valign=top><em>FLAC__bool</em> </td><td>
1590
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
1595
<a name="a31" doxytag="seekable_stream_decoder.h::FLAC__seekable_stream_decoder_get_state"></a><p>
1596
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1599
<table cellpadding="0" cellspacing="0" border="0">
1601
<td class="md" nowrap valign="top"> <a class="el" href="group__flac__seekable__stream__decoder.html#a50">FLAC__SeekableStreamDecoderState</a> FLAC__seekable_stream_decoder_get_state </td>
1602
<td class="md" valign="top">( </td>
1603
<td class="md" nowrap valign="top">const <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> * </td>
1604
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1605
<td class="md" valign="top">) </td>
1606
<td class="md" nowrap></td>
1613
<table cellspacing=5 cellpadding=0 border=0>
1621
Get the current decoder state.<dl compact><dt><b>
1622
Parameters: </b><dd>
1623
<table border=0 cellspacing=2 cellpadding=0>
1624
<tr><td valign=top><em>decoder</em> </td><td>
1625
A decoder instance to query. </td></tr>
1627
</dl><dl compact><dt><b>
1629
<div class="fragment"><pre>decoder != NULL
1630
</pre></div> </dl><dl compact><dt><b>
1631
Return values: </b><dd>
1632
<table border=0 cellspacing=2 cellpadding=0>
1633
<tr><td valign=top><em>FLAC__SeekableStreamDecoderState</em> </td><td>
1634
The current decoder state. </td></tr>
1639
<a name="a32" doxytag="seekable_stream_decoder.h::FLAC__seekable_stream_decoder_get_stream_decoder_state"></a><p>
1640
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1643
<table cellpadding="0" cellspacing="0" border="0">
1645
<td class="md" nowrap valign="top"> <a class="el" href="group__flac__stream__decoder.html#a36">FLAC__StreamDecoderState</a> FLAC__seekable_stream_decoder_get_stream_decoder_state </td>
1646
<td class="md" valign="top">( </td>
1647
<td class="md" nowrap valign="top">const <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> * </td>
1648
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1649
<td class="md" valign="top">) </td>
1650
<td class="md" nowrap></td>
1657
<table cellspacing=5 cellpadding=0 border=0>
1665
Get the state of the underlying stream decoder. Useful when the seekable stream decoder state is <code>FLAC__SEEKABLE_STREAM_DECODER_STREAM_DECODER_ERROR</code>.<dl compact><dt><b>
1666
Parameters: </b><dd>
1667
<table border=0 cellspacing=2 cellpadding=0>
1668
<tr><td valign=top><em>decoder</em> </td><td>
1669
A decoder instance to query. </td></tr>
1671
</dl><dl compact><dt><b>
1673
<div class="fragment"><pre>decoder != NULL
1674
</pre></div> </dl><dl compact><dt><b>
1675
Return values: </b><dd>
1676
<table border=0 cellspacing=2 cellpadding=0>
1677
<tr><td valign=top><em>FLAC__StreamDecoderState</em> </td><td>
1678
The stream decoder state. </td></tr>
1683
<a name="a33" doxytag="seekable_stream_decoder.h::FLAC__seekable_stream_decoder_get_resolved_state_string"></a><p>
1684
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1687
<table cellpadding="0" cellspacing="0" border="0">
1689
<td class="md" nowrap valign="top"> const char* FLAC__seekable_stream_decoder_get_resolved_state_string </td>
1690
<td class="md" valign="top">( </td>
1691
<td class="md" nowrap valign="top">const <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> * </td>
1692
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1693
<td class="md" valign="top">) </td>
1694
<td class="md" nowrap></td>
1701
<table cellspacing=5 cellpadding=0 border=0>
1709
Get the current decoder state as a C string. This version automatically resolves <code>FLAC__SEEKABLE_STREAM_DECODER_STREAM_DECODER_ERROR</code> by getting the stream decoder's state.<dl compact><dt><b>
1710
Parameters: </b><dd>
1711
<table border=0 cellspacing=2 cellpadding=0>
1712
<tr><td valign=top><em>decoder</em> </td><td>
1713
A decoder instance to query. </td></tr>
1715
</dl><dl compact><dt><b>
1717
<div class="fragment"><pre>decoder != NULL
1718
</pre></div> </dl><dl compact><dt><b>
1719
Return values: </b><dd>
1720
<table border=0 cellspacing=2 cellpadding=0>
1721
<tr><td valign=top><em>const</em> </td><td>
1722
char * The decoder state as a C string. Do not modify the contents. </td></tr>
1727
<a name="a34" doxytag="seekable_stream_decoder.h::FLAC__seekable_stream_decoder_get_md5_checking"></a><p>
1728
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1731
<table cellpadding="0" cellspacing="0" border="0">
1733
<td class="md" nowrap valign="top"> FLAC__bool FLAC__seekable_stream_decoder_get_md5_checking </td>
1734
<td class="md" valign="top">( </td>
1735
<td class="md" nowrap valign="top">const <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> * </td>
1736
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1737
<td class="md" valign="top">) </td>
1738
<td class="md" nowrap></td>
1745
<table cellspacing=5 cellpadding=0 border=0>
1753
Get the "MD5 signature checking" flag. This is the value of the setting, not whether or not the decoder is currently checking the MD5 (remember, it can be turned off automatically by a seek). When the decoder is reset the flag will be restored to the value returned by this function.<dl compact><dt><b>
1754
Parameters: </b><dd>
1755
<table border=0 cellspacing=2 cellpadding=0>
1756
<tr><td valign=top><em>decoder</em> </td><td>
1757
A decoder instance to query. </td></tr>
1759
</dl><dl compact><dt><b>
1761
<div class="fragment"><pre>decoder != NULL
1762
</pre></div> </dl><dl compact><dt><b>
1763
Return values: </b><dd>
1764
<table border=0 cellspacing=2 cellpadding=0>
1765
<tr><td valign=top><em>FLAC__bool</em> </td><td>
1766
See above. </td></tr>
1771
<a name="a35" doxytag="seekable_stream_decoder.h::FLAC__seekable_stream_decoder_get_channels"></a><p>
1772
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1775
<table cellpadding="0" cellspacing="0" border="0">
1777
<td class="md" nowrap valign="top"> unsigned FLAC__seekable_stream_decoder_get_channels </td>
1778
<td class="md" valign="top">( </td>
1779
<td class="md" nowrap valign="top">const <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> * </td>
1780
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1781
<td class="md" valign="top">) </td>
1782
<td class="md" nowrap></td>
1789
<table cellspacing=5 cellpadding=0 border=0>
1797
This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a23">FLAC__stream_decoder_get_channels</a>().<dl compact><dt><b>
1798
Parameters: </b><dd>
1799
<table border=0 cellspacing=2 cellpadding=0>
1800
<tr><td valign=top><em>decoder</em> </td><td>
1801
A decoder instance to query. </td></tr>
1803
</dl><dl compact><dt><b>
1805
<div class="fragment"><pre>decoder != NULL
1806
</pre></div> </dl><dl compact><dt><b>
1807
Return values: </b><dd>
1808
<table border=0 cellspacing=2 cellpadding=0>
1809
<tr><td valign=top><em>unsigned</em> </td><td>
1810
See above. </td></tr>
1815
<a name="a36" doxytag="seekable_stream_decoder.h::FLAC__seekable_stream_decoder_get_channel_assignment"></a><p>
1816
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1819
<table cellpadding="0" cellspacing="0" border="0">
1821
<td class="md" nowrap valign="top"> <a class="el" href="group__flac__format.html#a95">FLAC__ChannelAssignment</a> FLAC__seekable_stream_decoder_get_channel_assignment </td>
1822
<td class="md" valign="top">( </td>
1823
<td class="md" nowrap valign="top">const <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> * </td>
1824
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1825
<td class="md" valign="top">) </td>
1826
<td class="md" nowrap></td>
1833
<table cellspacing=5 cellpadding=0 border=0>
1841
This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a24">FLAC__stream_decoder_get_channel_assignment</a>().<dl compact><dt><b>
1842
Parameters: </b><dd>
1843
<table border=0 cellspacing=2 cellpadding=0>
1844
<tr><td valign=top><em>decoder</em> </td><td>
1845
A decoder instance to query. </td></tr>
1847
</dl><dl compact><dt><b>
1849
<div class="fragment"><pre>decoder != NULL
1850
</pre></div> </dl><dl compact><dt><b>
1851
Return values: </b><dd>
1852
<table border=0 cellspacing=2 cellpadding=0>
1853
<tr><td valign=top><em>FLAC__ChannelAssignment</em> </td><td>
1854
See above. </td></tr>
1859
<a name="a37" doxytag="seekable_stream_decoder.h::FLAC__seekable_stream_decoder_get_bits_per_sample"></a><p>
1860
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1863
<table cellpadding="0" cellspacing="0" border="0">
1865
<td class="md" nowrap valign="top"> unsigned FLAC__seekable_stream_decoder_get_bits_per_sample </td>
1866
<td class="md" valign="top">( </td>
1867
<td class="md" nowrap valign="top">const <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> * </td>
1868
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1869
<td class="md" valign="top">) </td>
1870
<td class="md" nowrap></td>
1877
<table cellspacing=5 cellpadding=0 border=0>
1885
This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a25">FLAC__stream_decoder_get_bits_per_sample</a>().<dl compact><dt><b>
1886
Parameters: </b><dd>
1887
<table border=0 cellspacing=2 cellpadding=0>
1888
<tr><td valign=top><em>decoder</em> </td><td>
1889
A decoder instance to query. </td></tr>
1891
</dl><dl compact><dt><b>
1893
<div class="fragment"><pre>decoder != NULL
1894
</pre></div> </dl><dl compact><dt><b>
1895
Return values: </b><dd>
1896
<table border=0 cellspacing=2 cellpadding=0>
1897
<tr><td valign=top><em>unsigned</em> </td><td>
1898
See above. </td></tr>
1903
<a name="a38" doxytag="seekable_stream_decoder.h::FLAC__seekable_stream_decoder_get_sample_rate"></a><p>
1904
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1907
<table cellpadding="0" cellspacing="0" border="0">
1909
<td class="md" nowrap valign="top"> unsigned FLAC__seekable_stream_decoder_get_sample_rate </td>
1910
<td class="md" valign="top">( </td>
1911
<td class="md" nowrap valign="top">const <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> * </td>
1912
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1913
<td class="md" valign="top">) </td>
1914
<td class="md" nowrap></td>
1921
<table cellspacing=5 cellpadding=0 border=0>
1929
This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a26">FLAC__stream_decoder_get_sample_rate</a>().<dl compact><dt><b>
1930
Parameters: </b><dd>
1931
<table border=0 cellspacing=2 cellpadding=0>
1932
<tr><td valign=top><em>decoder</em> </td><td>
1933
A decoder instance to query. </td></tr>
1935
</dl><dl compact><dt><b>
1937
<div class="fragment"><pre>decoder != NULL
1938
</pre></div> </dl><dl compact><dt><b>
1939
Return values: </b><dd>
1940
<table border=0 cellspacing=2 cellpadding=0>
1941
<tr><td valign=top><em>unsigned</em> </td><td>
1942
See above. </td></tr>
1947
<a name="a39" doxytag="seekable_stream_decoder.h::FLAC__seekable_stream_decoder_get_blocksize"></a><p>
1948
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1951
<table cellpadding="0" cellspacing="0" border="0">
1953
<td class="md" nowrap valign="top"> unsigned FLAC__seekable_stream_decoder_get_blocksize </td>
1954
<td class="md" valign="top">( </td>
1955
<td class="md" nowrap valign="top">const <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> * </td>
1956
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1957
<td class="md" valign="top">) </td>
1958
<td class="md" nowrap></td>
1965
<table cellspacing=5 cellpadding=0 border=0>
1973
This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a27">FLAC__stream_decoder_get_blocksize</a>().<dl compact><dt><b>
1974
Parameters: </b><dd>
1975
<table border=0 cellspacing=2 cellpadding=0>
1976
<tr><td valign=top><em>decoder</em> </td><td>
1977
A decoder instance to query. </td></tr>
1979
</dl><dl compact><dt><b>
1981
<div class="fragment"><pre>decoder != NULL
1982
</pre></div> </dl><dl compact><dt><b>
1983
Return values: </b><dd>
1984
<table border=0 cellspacing=2 cellpadding=0>
1985
<tr><td valign=top><em>unsigned</em> </td><td>
1986
See above. </td></tr>
1991
<a name="a40" doxytag="seekable_stream_decoder.h::FLAC__seekable_stream_decoder_get_decode_position"></a><p>
1992
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1995
<table cellpadding="0" cellspacing="0" border="0">
1997
<td class="md" nowrap valign="top"> FLAC__bool FLAC__seekable_stream_decoder_get_decode_position </td>
1998
<td class="md" valign="top">( </td>
1999
<td class="md" nowrap valign="top">const <a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> * </td>
2000
<td class="mdname" nowrap> <em>decoder</em>, </td>
2005
<td class="md" nowrap>FLAC__uint64 * </td>
2006
<td class="mdname" nowrap> <em>position</em></td>
2010
<td class="md">) </td>
2011
<td class="md" colspan="2"></td>
2018
<table cellspacing=5 cellpadding=0 border=0>
2026
Returns the decoder's current read position within the stream. The position is the byte offset from the start of the stream. Bytes before this position have been fully decoded. Note that there may still be undecoded bytes in the decoder's read FIFO. The returned position is correct even after a seek.<dl compact><dt><b>
2027
Parameters: </b><dd>
2028
<table border=0 cellspacing=2 cellpadding=0>
2029
<tr><td valign=top><em>decoder</em> </td><td>
2030
A decoder instance to query. </td></tr>
2031
<tr><td valign=top><em>position</em> </td><td>
2032
Address at which to return the desired position. </td></tr>
2034
</dl><dl compact><dt><b>
2036
<div class="fragment"><pre>decoder != NULL
2037
</pre></div> <div class="fragment"><pre>position != NULL
2038
</pre></div> </dl><dl compact><dt><b>
2039
Return values: </b><dd>
2040
<table border=0 cellspacing=2 cellpadding=0>
2041
<tr><td valign=top><em>FLAC__bool</em> </td><td>
2042
<code>true</code> if successful, <code>false</code> if there was an error from the 'tell' callback. </td></tr>
2047
<a name="a41" doxytag="seekable_stream_decoder.h::FLAC__seekable_stream_decoder_init"></a><p>
2048
<table width="100%" cellpadding="2" cellspacing="0" border="0">
2051
<table cellpadding="0" cellspacing="0" border="0">
2053
<td class="md" nowrap valign="top"> <a class="el" href="group__flac__seekable__stream__decoder.html#a50">FLAC__SeekableStreamDecoderState</a> FLAC__seekable_stream_decoder_init </td>
2054
<td class="md" valign="top">( </td>
2055
<td class="md" nowrap valign="top"><a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> * </td>
2056
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
2057
<td class="md" valign="top">) </td>
2058
<td class="md" nowrap></td>
2065
<table cellspacing=5 cellpadding=0 border=0>
2073
Initialize the decoder instance. Should be called after <a class="el" href="group__flac__seekable__stream__decoder.html#a13">FLAC__seekable_stream_decoder_new</a>() and FLAC__seekable_stream_decoder_set_*() but before any of the FLAC__seekable_stream_decoder_process_*() functions. Will set and return the decoder state, which will be FLAC__SEEKABLE_STREAM_DECODER_OK if initialization succeeded.<dl compact><dt><b>
2074
Parameters: </b><dd>
2075
<table border=0 cellspacing=2 cellpadding=0>
2076
<tr><td valign=top><em>decoder</em> </td><td>
2077
An uninitialized decoder instance. </td></tr>
2079
</dl><dl compact><dt><b>
2081
<div class="fragment"><pre>decoder != NULL
2082
</pre></div> </dl><dl compact><dt><b>
2083
Return values: </b><dd>
2084
<table border=0 cellspacing=2 cellpadding=0>
2085
<tr><td valign=top><em>FLAC__SeekableStreamDecoderState</em> </td><td>
2086
<code>FLAC__SEEKABLE_STREAM_DECODER_OK</code> if initialization was successful; see FLAC__SeekableStreamDecoderState for the meanings of other return values. </td></tr>
2091
<a name="a42" doxytag="seekable_stream_decoder.h::FLAC__seekable_stream_decoder_finish"></a><p>
2092
<table width="100%" cellpadding="2" cellspacing="0" border="0">
2095
<table cellpadding="0" cellspacing="0" border="0">
2097
<td class="md" nowrap valign="top"> FLAC__bool FLAC__seekable_stream_decoder_finish </td>
2098
<td class="md" valign="top">( </td>
2099
<td class="md" nowrap valign="top"><a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> * </td>
2100
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
2101
<td class="md" valign="top">) </td>
2102
<td class="md" nowrap></td>
2109
<table cellspacing=5 cellpadding=0 border=0>
2117
Finish the decoding process. Flushes the decoding buffer, releases resources, resets the decoder settings to their defaults, and returns the decoder state to FLAC__SEEKABLE_STREAM_DECODER_UNINITIALIZED.
2119
In the event of a prematurely-terminated decode, it is not strictly necessary to call this immediately before <a class="el" href="group__flac__seekable__stream__decoder.html#a14">FLAC__seekable_stream_decoder_delete</a>() but it is good practice to match every <a class="el" href="group__flac__seekable__stream__decoder.html#a41">FLAC__seekable_stream_decoder_init</a>() with a <a class="el" href="group__flac__seekable__stream__decoder.html#a42">FLAC__seekable_stream_decoder_finish</a>().<dl compact><dt><b>
2120
Parameters: </b><dd>
2121
<table border=0 cellspacing=2 cellpadding=0>
2122
<tr><td valign=top><em>decoder</em> </td><td>
2123
An uninitialized decoder instance. </td></tr>
2125
</dl><dl compact><dt><b>
2127
<div class="fragment"><pre>decoder != NULL
2128
</pre></div> </dl><dl compact><dt><b>
2129
Return values: </b><dd>
2130
<table border=0 cellspacing=2 cellpadding=0>
2131
<tr><td valign=top><em>FLAC__bool</em> </td><td>
2132
<code>false</code> if MD5 checking is on AND a STREAMINFO block was available AND the MD5 signature in the STREAMINFO block was non-zero AND the signature does not match the one computed by the decoder; else <code>true</code>. </td></tr>
2137
<a name="a43" doxytag="seekable_stream_decoder.h::FLAC__seekable_stream_decoder_flush"></a><p>
2138
<table width="100%" cellpadding="2" cellspacing="0" border="0">
2141
<table cellpadding="0" cellspacing="0" border="0">
2143
<td class="md" nowrap valign="top"> FLAC__bool FLAC__seekable_stream_decoder_flush </td>
2144
<td class="md" valign="top">( </td>
2145
<td class="md" nowrap valign="top"><a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> * </td>
2146
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
2147
<td class="md" valign="top">) </td>
2148
<td class="md" nowrap></td>
2155
<table cellspacing=5 cellpadding=0 border=0>
2163
Flush the stream input. The decoder's input buffer will be cleared and the state set to <code>FLAC__SEEKABLE_STREAM_DECODER_OK</code>. This will also turn off MD5 checking.<dl compact><dt><b>
2164
Parameters: </b><dd>
2165
<table border=0 cellspacing=2 cellpadding=0>
2166
<tr><td valign=top><em>decoder</em> </td><td>
2167
A decoder instance. </td></tr>
2169
</dl><dl compact><dt><b>
2171
<div class="fragment"><pre>decoder != NULL
2172
</pre></div> </dl><dl compact><dt><b>
2173
Return values: </b><dd>
2174
<table border=0 cellspacing=2 cellpadding=0>
2175
<tr><td valign=top><em>FLAC__bool</em> </td><td>
2176
<code>true</code> if successful, else <code>false</code> if a memory allocation or stream decoder error occurs. </td></tr>
2181
<a name="a44" doxytag="seekable_stream_decoder.h::FLAC__seekable_stream_decoder_reset"></a><p>
2182
<table width="100%" cellpadding="2" cellspacing="0" border="0">
2185
<table cellpadding="0" cellspacing="0" border="0">
2187
<td class="md" nowrap valign="top"> FLAC__bool FLAC__seekable_stream_decoder_reset </td>
2188
<td class="md" valign="top">( </td>
2189
<td class="md" nowrap valign="top"><a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> * </td>
2190
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
2191
<td class="md" valign="top">) </td>
2192
<td class="md" nowrap></td>
2199
<table cellspacing=5 cellpadding=0 border=0>
2207
Reset the decoding process. The decoder's input buffer will be cleared and the state set to <code>FLAC__SEEKABLE_STREAM_DECODER_OK</code>. This is similar to <a class="el" href="group__flac__seekable__stream__decoder.html#a42">FLAC__seekable_stream_decoder_finish</a>() except that the settings are preserved; there is no need to call <a class="el" href="group__flac__seekable__stream__decoder.html#a41">FLAC__seekable_stream_decoder_init</a>() before decoding again. MD5 checking will be restored to its original setting.<dl compact><dt><b>
2208
Parameters: </b><dd>
2209
<table border=0 cellspacing=2 cellpadding=0>
2210
<tr><td valign=top><em>decoder</em> </td><td>
2211
A decoder instance. </td></tr>
2213
</dl><dl compact><dt><b>
2215
<div class="fragment"><pre>decoder != NULL
2216
</pre></div> </dl><dl compact><dt><b>
2217
Return values: </b><dd>
2218
<table border=0 cellspacing=2 cellpadding=0>
2219
<tr><td valign=top><em>FLAC__bool</em> </td><td>
2220
<code>true</code> if successful, else <code>false</code> if a memory allocation or stream decoder error occurs. </td></tr>
2225
<a name="a45" doxytag="seekable_stream_decoder.h::FLAC__seekable_stream_decoder_process_single"></a><p>
2226
<table width="100%" cellpadding="2" cellspacing="0" border="0">
2229
<table cellpadding="0" cellspacing="0" border="0">
2231
<td class="md" nowrap valign="top"> FLAC__bool FLAC__seekable_stream_decoder_process_single </td>
2232
<td class="md" valign="top">( </td>
2233
<td class="md" nowrap valign="top"><a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> * </td>
2234
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
2235
<td class="md" valign="top">) </td>
2236
<td class="md" nowrap></td>
2243
<table cellspacing=5 cellpadding=0 border=0>
2251
This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a32">FLAC__stream_decoder_process_single</a>().<dl compact><dt><b>
2252
Parameters: </b><dd>
2253
<table border=0 cellspacing=2 cellpadding=0>
2254
<tr><td valign=top><em>decoder</em> </td><td>
2255
A decoder instance. </td></tr>
2257
</dl><dl compact><dt><b>
2259
<div class="fragment"><pre>decoder != NULL
2260
</pre></div> </dl><dl compact><dt><b>
2261
Return values: </b><dd>
2262
<table border=0 cellspacing=2 cellpadding=0>
2263
<tr><td valign=top><em>FLAC__bool</em> </td><td>
2264
See above. </td></tr>
2269
<a name="a46" doxytag="seekable_stream_decoder.h::FLAC__seekable_stream_decoder_process_until_end_of_metadata"></a><p>
2270
<table width="100%" cellpadding="2" cellspacing="0" border="0">
2273
<table cellpadding="0" cellspacing="0" border="0">
2275
<td class="md" nowrap valign="top"> FLAC__bool FLAC__seekable_stream_decoder_process_until_end_of_metadata </td>
2276
<td class="md" valign="top">( </td>
2277
<td class="md" nowrap valign="top"><a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> * </td>
2278
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
2279
<td class="md" valign="top">) </td>
2280
<td class="md" nowrap></td>
2287
<table cellspacing=5 cellpadding=0 border=0>
2295
This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a33">FLAC__stream_decoder_process_until_end_of_metadata</a>().<dl compact><dt><b>
2296
Parameters: </b><dd>
2297
<table border=0 cellspacing=2 cellpadding=0>
2298
<tr><td valign=top><em>decoder</em> </td><td>
2299
A decoder instance. </td></tr>
2301
</dl><dl compact><dt><b>
2303
<div class="fragment"><pre>decoder != NULL
2304
</pre></div> </dl><dl compact><dt><b>
2305
Return values: </b><dd>
2306
<table border=0 cellspacing=2 cellpadding=0>
2307
<tr><td valign=top><em>FLAC__bool</em> </td><td>
2308
See above. </td></tr>
2313
<a name="a47" doxytag="seekable_stream_decoder.h::FLAC__seekable_stream_decoder_process_until_end_of_stream"></a><p>
2314
<table width="100%" cellpadding="2" cellspacing="0" border="0">
2317
<table cellpadding="0" cellspacing="0" border="0">
2319
<td class="md" nowrap valign="top"> FLAC__bool FLAC__seekable_stream_decoder_process_until_end_of_stream </td>
2320
<td class="md" valign="top">( </td>
2321
<td class="md" nowrap valign="top"><a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> * </td>
2322
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
2323
<td class="md" valign="top">) </td>
2324
<td class="md" nowrap></td>
2331
<table cellspacing=5 cellpadding=0 border=0>
2339
This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a34">FLAC__stream_decoder_process_until_end_of_stream</a>().<dl compact><dt><b>
2340
Parameters: </b><dd>
2341
<table border=0 cellspacing=2 cellpadding=0>
2342
<tr><td valign=top><em>decoder</em> </td><td>
2343
A decoder instance. </td></tr>
2345
</dl><dl compact><dt><b>
2347
<div class="fragment"><pre>decoder != NULL
2348
</pre></div> </dl><dl compact><dt><b>
2349
Return values: </b><dd>
2350
<table border=0 cellspacing=2 cellpadding=0>
2351
<tr><td valign=top><em>FLAC__bool</em> </td><td>
2352
See above. </td></tr>
2357
<a name="a48" doxytag="seekable_stream_decoder.h::FLAC__seekable_stream_decoder_skip_single_frame"></a><p>
2358
<table width="100%" cellpadding="2" cellspacing="0" border="0">
2361
<table cellpadding="0" cellspacing="0" border="0">
2363
<td class="md" nowrap valign="top"> FLAC__bool FLAC__seekable_stream_decoder_skip_single_frame </td>
2364
<td class="md" valign="top">( </td>
2365
<td class="md" nowrap valign="top"><a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> * </td>
2366
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
2367
<td class="md" valign="top">) </td>
2368
<td class="md" nowrap></td>
2375
<table cellspacing=5 cellpadding=0 border=0>
2383
This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a35">FLAC__stream_decoder_skip_single_frame</a>().<dl compact><dt><b>
2384
Parameters: </b><dd>
2385
<table border=0 cellspacing=2 cellpadding=0>
2386
<tr><td valign=top><em>decoder</em> </td><td>
2387
A decoder instance. </td></tr>
2389
</dl><dl compact><dt><b>
2391
<div class="fragment"><pre>decoder != NULL
2392
</pre></div> </dl><dl compact><dt><b>
2393
Return values: </b><dd>
2394
<table border=0 cellspacing=2 cellpadding=0>
2395
<tr><td valign=top><em>FLAC__bool</em> </td><td>
2396
See above. </td></tr>
2401
<a name="a49" doxytag="seekable_stream_decoder.h::FLAC__seekable_stream_decoder_seek_absolute"></a><p>
2402
<table width="100%" cellpadding="2" cellspacing="0" border="0">
2405
<table cellpadding="0" cellspacing="0" border="0">
2407
<td class="md" nowrap valign="top"> FLAC__bool FLAC__seekable_stream_decoder_seek_absolute </td>
2408
<td class="md" valign="top">( </td>
2409
<td class="md" nowrap valign="top"><a class="el" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> * </td>
2410
<td class="mdname" nowrap> <em>decoder</em>, </td>
2415
<td class="md" nowrap>FLAC__uint64 </td>
2416
<td class="mdname" nowrap> <em>sample</em></td>
2420
<td class="md">) </td>
2421
<td class="md" colspan="2"></td>
2428
<table cellspacing=5 cellpadding=0 border=0>
2436
Flush the input and seek to an absolute sample. Decoding will resume at the given sample. Note that because of this, the next write callback may contain a partial block.<dl compact><dt><b>
2437
Parameters: </b><dd>
2438
<table border=0 cellspacing=2 cellpadding=0>
2439
<tr><td valign=top><em>decoder</em> </td><td>
2440
A decoder instance. </td></tr>
2441
<tr><td valign=top><em>sample</em> </td><td>
2442
The target sample number to seek to. </td></tr>
2444
</dl><dl compact><dt><b>
2446
<div class="fragment"><pre>decoder != NULL
2447
</pre></div> </dl><dl compact><dt><b>
2448
Return values: </b><dd>
2449
<table border=0 cellspacing=2 cellpadding=0>
2450
<tr><td valign=top><em>FLAC__bool</em> </td><td>
2451
<code>true</code> if successful, else <code>false</code>. </td></tr>
2456
<hr><h2>Variable Documentation</h2>
2457
<a name="a0" doxytag="seekable_stream_decoder.h::FLAC__SeekableStreamDecoderStateString"></a><p>
2458
<table width="100%" cellpadding="2" cellspacing="0" border="0">
2461
<table cellpadding="0" cellspacing="0" border="0">
2463
<td class="md" nowrap valign="top"> const char* const FLAC__SeekableStreamDecoderStateString[]
2468
<table cellspacing=5 cellpadding=0 border=0>
2476
Maps a FLAC__SeekableStreamDecoderState to a C string.
2478
Using a FLAC__SeekableStreamDecoderState as the index to this array will give the string equivalent. The contents should not be modified. </td>
2481
<a name="a1" doxytag="seekable_stream_decoder.h::FLAC__SeekableStreamDecoderReadStatusString"></a><p>
2482
<table width="100%" cellpadding="2" cellspacing="0" border="0">
2485
<table cellpadding="0" cellspacing="0" border="0">
2487
<td class="md" nowrap valign="top"> const char* const FLAC__SeekableStreamDecoderReadStatusString[]
2492
<table cellspacing=5 cellpadding=0 border=0>
2500
Maps a FLAC__SeekableStreamDecoderReadStatus to a C string.
2502
Using a FLAC__SeekableStreamDecoderReadStatus as the index to this array will give the string equivalent. The contents should not be modified. </td>
2505
<a name="a2" doxytag="seekable_stream_decoder.h::FLAC__SeekableStreamDecoderSeekStatusString"></a><p>
2506
<table width="100%" cellpadding="2" cellspacing="0" border="0">
2509
<table cellpadding="0" cellspacing="0" border="0">
2511
<td class="md" nowrap valign="top"> const char* const FLAC__SeekableStreamDecoderSeekStatusString[]
2516
<table cellspacing=5 cellpadding=0 border=0>
2524
Maps a FLAC__SeekableStreamDecoderSeekStatus to a C string.
2526
Using a FLAC__SeekableStreamDecoderSeekStatus as the index to this array will give the string equivalent. The contents should not be modified. </td>
2529
<a name="a3" doxytag="seekable_stream_decoder.h::FLAC__SeekableStreamDecoderTellStatusString"></a><p>
2530
<table width="100%" cellpadding="2" cellspacing="0" border="0">
2533
<table cellpadding="0" cellspacing="0" border="0">
2535
<td class="md" nowrap valign="top"> const char* const FLAC__SeekableStreamDecoderTellStatusString[]
2540
<table cellspacing=5 cellpadding=0 border=0>
2548
Maps a FLAC__SeekableStreamDecoderTellStatus to a C string.
2550
Using a FLAC__SeekableStreamDecoderTellStatus as the index to this array will give the string equivalent. The contents should not be modified. </td>
2553
<a name="a4" doxytag="seekable_stream_decoder.h::FLAC__SeekableStreamDecoderLengthStatusString"></a><p>
2554
<table width="100%" cellpadding="2" cellspacing="0" border="0">
2557
<table cellpadding="0" cellspacing="0" border="0">
2559
<td class="md" nowrap valign="top"> const char* const FLAC__SeekableStreamDecoderLengthStatusString[]
2564
<table cellspacing=5 cellpadding=0 border=0>
2572
Maps a FLAC__SeekableStreamDecoderLengthStatus to a C string.
2574
Using a FLAC__SeekableStreamDecoderLengthStatus as the index to this array will give the string equivalent. The contents should not be modified. </td>
2577
<hr><address><small>Generated on Fri Feb 4 18:39:16 2005 for FLAC by
2578
<a href="http://www.doxygen.org/index.html">
2579
<img src="doxygen.gif" alt="doxygen" align="middle" border=0
2580
width=110 height=53></a>1.2.14 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
2581
© 1997-2002</small></address>