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 Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="globals.html">File Members</a></div> 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 <<a class="el" href="format_8h-source.html">format.h</a>></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 </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 </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 </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> </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 </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> </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> FLAC__uint32 <b>frame_number</b></td></tr> 34 35<tr><td class="memItemLeft" nowrap> FLAC__uint64 <b>sample_number</b></td></tr> 36 37<tr><td class="memItemLeft" nowrap valign="top">} </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 </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 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 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 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 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 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 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 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 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