PCM High Bitdepth Stream Data Range

Questo esempio usa una struttura KSDATARANGE_AUDIO per descrivere l'intervallo di dati per un flusso PCM a bitdepth elevato.

  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;

I valori dei membri in questo esempio sono simili a quelli dell'esempio di intervallo di dati di flusso multicanale PCM , ad eccezione del MaximumBitsPerSample valore , maggiore di 16. Questo valore viene impostato sul numero massimo di bit validi supportati. Ad esempio, se il dispositivo supporta 20 bit di dati audio validi in contenitori a 24 bit, il valore per MaximumBitsPerSample deve essere impostato su 20.