X-Git-Url: http://git.linex4red.de/pub/lufa.git/blobdiff_plain/782614dbb55addcae8c9d4d9e1ce3dec81287282..78cfaac9b4fc9ae15652f18e9abb79dcedfcd4b5:/Demos/Device/LowLevel/AudioOutput/AudioOutput.c diff --git a/Demos/Device/LowLevel/AudioOutput/AudioOutput.c b/Demos/Device/LowLevel/AudioOutput/AudioOutput.c index 64a297315..22cfac4d9 100644 --- a/Demos/Device/LowLevel/AudioOutput/AudioOutput.c +++ b/Demos/Device/LowLevel/AudioOutput/AudioOutput.c @@ -169,6 +169,15 @@ void EVENT_USB_Device_ControlRequest(void) } break; + case AUDIO_REQ_GetStatus: + /* Get Status request can be directed at either the interface or endpoint, neither is currently used + * according to the latest USB Audio 1.0 standard, but must be ACKed with no data when requested */ + if ((USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE)) || + (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_ENDPOINT))) + { + Endpoint_ClearSETUP(); + Endpoint_ClearStatusStage(); + } } } @@ -184,8 +193,8 @@ ISR(TIMER0_COMPA_vect, ISR_BLOCK) if (Endpoint_IsOUTReceived() && StreamingAudioInterfaceSelected) { /* Retrieve the signed 16-bit left and right audio samples, convert to 8-bit */ - int8_t LeftSample_8Bit = ((int16_t)Endpoint_Read_Word_LE() >> 8); - int8_t RightSample_8Bit = ((int16_t)Endpoint_Read_Word_LE() >> 8); + int8_t LeftSample_8Bit = ((int16_t)Endpoint_Read_16_LE() >> 8); + int8_t RightSample_8Bit = ((int16_t)Endpoint_Read_16_LE() >> 8); /* Mix the two channels together to produce a mono, 8-bit sample */ int8_t MixedSample_8Bit = (((int16_t)LeftSample_8Bit + (int16_t)RightSample_8Bit) >> 1);