
HH
VS1005 VSOS A
UDIO
S
UBSYSTEM
VS1005g
11.2.3
IOCTL_AUDIO_SET_IRATE, IOCTL_AUDIO_SET_ORATE
Set sample rate, which may be in fractional sample rate format (Chapter 11.6). Note
that sample rate may be larger than what can fit into 16 bits, so it needs to be passed
through a 32-bit pointer.
•
Only for Master Mode drivers
•
It is recommended to use IOCTL_AUDIO_SET_RATE_AND_BITS instead
Example for driver with input:
s_int32 sampleRate = 48000;
if (ioctl(fp, IOCTL_AUDIO_SET_IRATE, (char *)(&sampleRate))) {
printf("Couldn't set sample rate\n");
}
Example for driver with output:
s_int32 sampleRate = 48000;
if (ioctl(fp, IOCTL_AUDIO_SET_ORATE, (char *)(&sampleRate))) {
printf("Couldn't set sample rate\n");
}
11.2.4
IOCTL_AUDIO_GET_BITS
Get number of bits for driver.
Example:
bits = ioctl(fp, IOCTL_AUDIO_GET_BITS, NULL);
11.2.5
IOCTL_AUDIO_SET_BITS
Set number of bits for driver.
Example:
•
bits may be 16 or 32
•
With Master Mode drivers it is recommended to use
IOCTL_AUDIO_SET_RATE_AND_BITS instead
Example:
if (ioctl(fp, IOCTL_AUDIO_SET_BITS, (char *)(32))) {
printf("Couldn't set bits\n");
}
Rev. 3.57
2019-04-10
Page