PCM High Bitdepth Stream Data Range
This example uses a KSDATARANGE_AUDIO structure to describe the data range for a PCM high-bitdepth stream.
DataRange.FormatSize = sizeof(KSDATARANGE_AUDIO);
DataRange.Flags = 0;
DataRange.SampleSize = 0;
DataRange.Reserved = 0;
DataRange.MajorFormat = STATICGUIDOF(KSDATAFORMAT_TYPE_AUDIO);
DataRange.SubFormat = STATICGUIDOF(KSDATAFORMAT_SUBTYPE_PCM);
DataRange.Specifier = STATICGUIDOF(KSDATAFORMAT_SPECIFIER_WAVEFORMATEX);
MaximumChannels = 4; // max number of channels, or -1 for unlimited
MinimumBitsPerSample = 2;
MaximumBitsPerSample = 24; // 24, 32, etc.
MinimumSampleFrequency = 5000;
MaximumSampleFrequency = 48000;
The member values in this example are similar to those in the PCM Multichannel Stream Data Range example, with the exception of the MaximumBitsPerSample
value, which is greater than 16. This value is set to the maximum number of valid bits supported. For example, if the device supports 20 bits of valid audio data in 24-bit containers, the value for MaximumBitsPerSample
should be set to 20.