From 6e0f1d5a135979d5523d1faf9a8ab6a5e6d6ef81 Mon Sep 17 00:00:00 2001 From: Ross Owen Date: Thu, 9 Jan 2014 15:14:11 +0000 Subject: [PATCH] Fixed issue where the next 44.1 based freq above MAX_FREQ was reported in GetRange(SamplingFrequency) when MAX_FREQ=MIN_FREQ (BUG #15127) --- module_usb_audio/endpoint0/audiorequests.xc | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/module_usb_audio/endpoint0/audiorequests.xc b/module_usb_audio/endpoint0/audiorequests.xc index 596def14..2d4cc817 100644 --- a/module_usb_audio/endpoint0/audiorequests.xc +++ b/module_usb_audio/endpoint0/audiorequests.xc @@ -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);