Audio 2 reports restricted sample freq list if running in fs

This commit is contained in:
Ross Owen
2013-09-18 14:52:46 +01:00
parent d79d30ff24
commit e8abe94f07

View File

@@ -792,9 +792,21 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
int i = 2;
int currentFreq44 = 44100;
int currentFreq48 = 48000;
unsigned maxFreq = MAX_FREQ;
#if defined (FULL_SPEED_AUDIO_2)
unsigned usbSpeed;
asm("ldw %0, dp[g_curUsbSpeed]" : "=r" (usbSpeed) :);
if (usbSpeed == XUD_SPEED_FS)
{
maxFreq = MAX_FREQ_A1;
}
#endif
while(1)
{
if(currentFreq48 <= MAX_FREQ)
if(currentFreq48 <= maxFreq)
{
/* Note i passed byref here */
storeFreq(buffer, i, currentFreq48);
@@ -804,7 +816,7 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
num_freqs++;
currentFreq44*=2;
}
else if(currentFreq44 <= MAX_FREQ)
else if(currentFreq44 <= maxFreq)
{
storeFreq(buffer, i, currentFreq44);
num_freqs++;