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.