1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3<title>FLAC: FLAC__FrameHeader Struct Reference</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5</head><body>
6<!-- Generated by Doxygen 1.4.2 -->
7<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
8<h1>FLAC__FrameHeader Struct Reference<br>
9<small>
10[<a class="el" href="group__flac__format.html">FLAC/format.h: format components</a>]</small>
11</h1><code>#include &lt;<a class="el" href="format_8h-source.html">format.h</a>&gt;</code>
12<p>
13<a href="structFLAC____FrameHeader-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
14FLAC frame header structure. (c.f. <a href="../format.html#frame_header">format specification</a>) 
15<p>
16<table border="0" cellpadding="0" cellspacing="0">
17<tr><td></td></tr>
18<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
19<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero0">blocksize</a></td></tr>
20
21<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero1">sample_rate</a></td></tr>
22
23<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero2">channels</a></td></tr>
24
25<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__format.html#ga111">FLAC__ChannelAssignment</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero3">channel_assignment</a></td></tr>
26
27<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero4">bits_per_sample</a></td></tr>
28
29<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__format.html#ga112">FLAC__FrameNumberType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero5">number_type</a></td></tr>
30
31<tr><td class="memItemLeft" nowrap>union {</td></tr>
32
33<tr><td class="memItemLeft" nowrap>&nbsp;&nbsp;&nbsp;FLAC__uint32&nbsp;&nbsp;&nbsp;<b>frame_number</b></td></tr>
34
35<tr><td class="memItemLeft" nowrap>&nbsp;&nbsp;&nbsp;FLAC__uint64&nbsp;&nbsp;&nbsp;<b>sample_number</b></td></tr>
36
37<tr><td class="memItemLeft" nowrap valign="top">}&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero8">number</a></td></tr>
38
39<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__uint8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero9">crc</a></td></tr>
40
41</table>
42<hr><h2>Member Data Documentation</h2>
43<a class="anchor" name="FLAC____FrameHeadero0" doxytag="FLAC__FrameHeader::blocksize"></a><p>
44<table class="mdTable" cellpadding="2" cellspacing="0">
45  <tr>
46    <td class="mdRow">
47      <table cellpadding="0" cellspacing="0" border="0">
48        <tr>
49          <td class="md" nowrap valign="top">unsigned <a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero0">FLAC__FrameHeader::blocksize</a>          </td>
50        </tr>
51      </table>
52    </td>
53  </tr>
54</table>
55<table cellspacing="5" cellpadding="0" border="0">
56  <tr>
57    <td>
58      &nbsp;
59    </td>
60    <td>
61
62<p>
63The number of samples per subframe.     </td>
64  </tr>
65</table>
66<a class="anchor" name="FLAC____FrameHeadero1" doxytag="FLAC__FrameHeader::sample_rate"></a><p>
67<table class="mdTable" cellpadding="2" cellspacing="0">
68  <tr>
69    <td class="mdRow">
70      <table cellpadding="0" cellspacing="0" border="0">
71        <tr>
72          <td class="md" nowrap valign="top">unsigned <a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero1">FLAC__FrameHeader::sample_rate</a>          </td>
73        </tr>
74      </table>
75    </td>
76  </tr>
77</table>
78<table cellspacing="5" cellpadding="0" border="0">
79  <tr>
80    <td>
81      &nbsp;
82    </td>
83    <td>
84
85<p>
86The sample rate in Hz.     </td>
87  </tr>
88</table>
89<a class="anchor" name="FLAC____FrameHeadero2" doxytag="FLAC__FrameHeader::channels"></a><p>
90<table class="mdTable" cellpadding="2" cellspacing="0">
91  <tr>
92    <td class="mdRow">
93      <table cellpadding="0" cellspacing="0" border="0">
94        <tr>
95          <td class="md" nowrap valign="top">unsigned <a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero2">FLAC__FrameHeader::channels</a>          </td>
96        </tr>
97      </table>
98    </td>
99  </tr>
100</table>
101<table cellspacing="5" cellpadding="0" border="0">
102  <tr>
103    <td>
104      &nbsp;
105    </td>
106    <td>
107
108<p>
109The number of channels (== number of subframes).     </td>
110  </tr>
111</table>
112<a class="anchor" name="FLAC____FrameHeadero3" doxytag="FLAC__FrameHeader::channel_assignment"></a><p>
113<table class="mdTable" cellpadding="2" cellspacing="0">
114  <tr>
115    <td class="mdRow">
116      <table cellpadding="0" cellspacing="0" border="0">
117        <tr>
118          <td class="md" nowrap valign="top"><a class="el" href="group__flac__format.html#ga111">FLAC__ChannelAssignment</a> <a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero3">FLAC__FrameHeader::channel_assignment</a>          </td>
119        </tr>
120      </table>
121    </td>
122  </tr>
123</table>
124<table cellspacing="5" cellpadding="0" border="0">
125  <tr>
126    <td>
127      &nbsp;
128    </td>
129    <td>
130
131<p>
132The channel assignment for the frame.     </td>
133  </tr>
134</table>
135<a class="anchor" name="FLAC____FrameHeadero4" doxytag="FLAC__FrameHeader::bits_per_sample"></a><p>
136<table class="mdTable" cellpadding="2" cellspacing="0">
137  <tr>
138    <td class="mdRow">
139      <table cellpadding="0" cellspacing="0" border="0">
140        <tr>
141          <td class="md" nowrap valign="top">unsigned <a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero4">FLAC__FrameHeader::bits_per_sample</a>          </td>
142        </tr>
143      </table>
144    </td>
145  </tr>
146</table>
147<table cellspacing="5" cellpadding="0" border="0">
148  <tr>
149    <td>
150      &nbsp;
151    </td>
152    <td>
153
154<p>
155The sample resolution.     </td>
156  </tr>
157</table>
158<a class="anchor" name="FLAC____FrameHeadero5" doxytag="FLAC__FrameHeader::number_type"></a><p>
159<table class="mdTable" cellpadding="2" cellspacing="0">
160  <tr>
161    <td class="mdRow">
162      <table cellpadding="0" cellspacing="0" border="0">
163        <tr>
164          <td class="md" nowrap valign="top"><a class="el" href="group__flac__format.html#ga112">FLAC__FrameNumberType</a> <a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero5">FLAC__FrameHeader::number_type</a>          </td>
165        </tr>
166      </table>
167    </td>
168  </tr>
169</table>
170<table cellspacing="5" cellpadding="0" border="0">
171  <tr>
172    <td>
173      &nbsp;
174    </td>
175    <td>
176
177<p>
178The numbering scheme used for the frame. As a convenience, the decoder will always convert a frame number to a sample number because the rules are complex.     </td>
179  </tr>
180</table>
181<a class="anchor" name="FLAC____FrameHeadero8" doxytag="FLAC__FrameHeader::number"></a><p>
182<table class="mdTable" cellpadding="2" cellspacing="0">
183  <tr>
184    <td class="mdRow">
185      <table cellpadding="0" cellspacing="0" border="0">
186        <tr>
187          <td class="md" nowrap valign="top">union { ... }   <a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero8">FLAC__FrameHeader::number</a>          </td>
188        </tr>
189      </table>
190    </td>
191  </tr>
192</table>
193<table cellspacing="5" cellpadding="0" border="0">
194  <tr>
195    <td>
196      &nbsp;
197    </td>
198    <td>
199
200<p>
201The frame number or sample number of first sample in frame; use the <em>number_type</em> value to determine which to use.     </td>
202  </tr>
203</table>
204<a class="anchor" name="FLAC____FrameHeadero9" doxytag="FLAC__FrameHeader::crc"></a><p>
205<table class="mdTable" cellpadding="2" cellspacing="0">
206  <tr>
207    <td class="mdRow">
208      <table cellpadding="0" cellspacing="0" border="0">
209        <tr>
210          <td class="md" nowrap valign="top">FLAC__uint8 <a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero9">FLAC__FrameHeader::crc</a>          </td>
211        </tr>
212      </table>
213    </td>
214  </tr>
215</table>
216<table cellspacing="5" cellpadding="0" border="0">
217  <tr>
218    <td>
219      &nbsp;
220    </td>
221    <td>
222
223<p>
224CRC-8 (polynomial = x^8 + x^2 + x^1 + x^0, initialized with 0) of the raw frame header bytes, meaning everything before the CRC byte including the sync code.     </td>
225  </tr>
226</table>
227<hr>The documentation for this struct was generated from the following file:<ul>
228<li>include/FLAC/<a class="el" href="format_8h-source.html">format.h</a></ul>
229
230<hr size="1">
231<div class="copyright">
232	<!-- @@@ oh so hacky -->
233	<table>
234		<tr>
235			<td align="left">
236				Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007  Josh Coalson
237			</td>
238			<td width="1%" align="right">
239				<a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
240			</td>
241		</tr>
242	</table>
243</div>
244<!-- Copyright (c)  2000,2001,2002,2003,2004,2005,2006,2007  Josh Coalson -->
245<!-- Permission is granted to copy, distribute and/or modify this document -->
246<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
247<!-- or any later version published by the Free Software Foundation; -->
248<!-- with no invariant sections. -->
249<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
250</body>
251</html>
252