JEITA CP-3451 - 78 - The fmt-ck structure can be illustrated as in Figure 36. Address Offset Code Meaning (Hex) (Hex) +00 66 +01 6D +02 74 +03 20 "fmt" (ckID) +04 ckSize (4 Bytes) +08 wformatTag (2 Bytes) +0A nChannels (2 Bytes) +0C nSamplesPerSec (4 Bytes) +10 nAvgBytesPerSec (4 Bytes) +14 nBlockAlign (2 Bytes) +16 wBitsPerSample (2 Bytes) +18 cbsize (2 Bytes) WAVEFORMATEX Structure   (18 Bytes) ckData[ckSize]   of fmt-ck +1A extByte[cbSize] Additional Byte Arrays Figure 36    fmt-ck Structure <fact-ck> fact-ck (fact chunk) is used to store file-dependent information relating to the WAVE file contents. The ckID (chunk ID) of fact-ck is "fact". It is assumed that fact-ck will be extended in the future to store information needed by WAVE files at that time, but currently only one information member is defined.   The information that can be stored in fact-ck at the present time is defined in Equation 4. unsigned long    dwSampleLength; // Sample length    - - - [Equation 4] Table 23 fact-ck Member Member Description dwSampleLength An  unsigned  32-bit  integer  indicating  the  number  of  audio  data  samples  (sample length).   When this  information is combined  with nSamplePerSec in fmt-ck, the data length may be expressed in seconds (recording time).   Since  the  only  information  defined presently  is  dwSampleLength,  the  value of  ckSize (chunk  Size)  for  fact-ck  is '00000004.H';  but  ckSize may  change in  the  future as  information  is  added  (in  which  case  it  will  be  larger  than '00000004.H'). Programs shall be able to skip over fields they cannot Interoperability and go on to process the next chunk. For this reason the capability of correctly reading the value of ckSize is a necessary requirement.