Fixed issue where the next 44.1 based freq above MAX_FREQ was reported in GetRange(SamplingFrequency) when MAX_FREQ=MIN_FREQ (BUG #15127)

This commit is contained in:
Ross Owen
2014-01-09 15:14:11 +00:00
parent 70f5047e22
commit 6e0f1d5a13

View File

@@ -807,25 +807,24 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
while(1)
{
if((currentFreq48 <= maxFreq))
if((currentFreq44 <= maxFreq) && (currentFreq44 >= MIN_FREQ))
{
/* Note i passed byref here */
storeFreq(buffer, i, currentFreq44);
num_freqs++;
currentFreq44*=2;
}
if((currentFreq48 <= maxFreq))
{
/* Note i passed byref here */
storeFreq(buffer, i, currentFreq48);
num_freqs++;
currentFreq48*=2;
}
else if((currentFreq44 <= maxFreq))
{
storeFreq(buffer, i, currentFreq44);
num_freqs++;
currentFreq44*=2;
}
else
{
break;
}
}
storeShort(buffer, 0, num_freqs);